Replies: 1 comment
-
setUp, tearDownの内容次第ですが、NUnitの場合、 これは、クラス内にあるテスト関数を実行する度に SetUp, TearDownを行うのではなく、 アセンブリ単位は…あったかなぁ… 🤔 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
第二部から、xUnitの実装に入りましたね。テストのフレームワークを実装するというコンセプトがとても面白いと思いました!
第20章の時点で、setUpとtearDownの実装を行いましたが、私はTestCase 内のsetUpメソッドがrerurnのみを返すことについて、私なりの見解を書いていきます。
「何もしないメソッド」は必要なのか?
結論からいうと、こういったことはたまにある事です。
何もしないメソッドは不必要な混乱を招くので、極力ない方がいいです。
例えば、TestCaseを親クラスとして、setUpやtearDownの実装の中身を子クラスに任せる場合は、TestCaseを抽象クラスにしてsetUpメソッドも抽象メソッドにしてしまえばいいです。もしくは、setUpがUnsupportedOperationExceptionを投げるというやり方もあります。
しかし、setUpやtearDownに関して言えば、テストによっては別に実装しなくても困らないことも沢山あります。不必要なのにわざわざ毎回この二つの実装を強いられるのは、Unit Testの可読性を下げるし、そもそもsetUpとtearDown以外にもTestCaseに機能を追加した場合に、テストの準備だけで膨大な時間がかかってしまいます。
なので、私の上げた二つのやり方は今回は非推奨です。
強いて言うなら、wasSetUpをTestCase内のattributeにしてしまって、
wasSetUp = true;
って書くくらいのことはしたかったですね。Beta Was this translation helpful? Give feedback.
All reactions