ユニットテストを書くために必要な次のクラスがあります。 MyClass
自身のメソッドの呼び出しを単独で検証する必要があります。JMockit:テスト対象オブジェクトの自己メソッド呼び出しを確認する
public class MyClass {
public void init() {
}
public void testMethod() {
}
}
私はinit()
がtestMethod()
を呼び出すことはありません、それは見ることができるようにMyClass
public class MyClassTest {
@Tested
MyClass myClass;
@Test
public void initTest() {
// new Expectations(myClass) {{
// }};
myClass.init();
new Verifications() {{
myClass.testMethod();
}};
}
}
をテストするには、次のテストクラスを書いたが、私の驚きのために、上記のテストケースが成功しました。
上記の空のExpectations
ブロックのコメントを外して部分的にmyClass
を偽装すると、テストはMissing invocation
というエラーで失敗します。だから、私はテストされたオブジェクトを部分的に模倣する必要があるようです。
しかし、複雑なクラスのテストオブジェクトを部分的に疑似テストすると、テスト時にさまざまな例外がスローされます。この状況では、Intellij IDEAのブレークポイントは機能しません。
ここで何が問題になるのでしょうか?または、テスト対象オブジェクト自体のメソッドの呼び出しを検証することは想定されていませんか?
ここで、「複雑なクラスのテストオブジェクトを部分的に嘲笑してテストするときにさまざまな例外を投げる」という例を挙げることができれば、それは私の経験ではないので見てみると面白いでしょう。 – dcsohl