私は、依存関係がデータベースクラスにあるクラスUserAdminをテストする必要があります。私はUserAdminクラスをテストするためにデータベースクラスを嘲笑しました。データベースクラスには、ユーザーが管理者であるかどうかを判断するisAdmin()メソッドがあります。 UserAdminクラスには、このエラーが発生しているremoveUser()というメソッドがあります。ユーザーが管理者の場合、removeUser()メソッドはユーザーを削除できません。 次は、このエラーが表示されるコードです。私は上記のassertEqualsを置くとき、私は主張して、真と偽の交換の際にJmockit:エラー1からの呼び出しが見つかりません
@Test
//testing remove user method of UserAdmin - remove Admin
public void testremoveUserAdmin() throws SQLException{
new Expectations() {{
dBConnection.isAdmin("admin");
times=1;
result = true;
}};
assertEquals(false,userAdmin.removeUser("admin"));
、それが不足している呼び出しエラーを与えるが、それは予想されるが、本当だったが、それは虚偽だったと言います。私はなぜこのエラーが出るのかわからない。 isAdmin()のような同様のメソッドのために同様のコードを実行するとうまくいきました。助けてください
どのように "のDBConnection" フィールドを宣言していますか? '@ Mocked'や' @ Injectable'では? 2番目の場合は、この同じ模擬されたインスタンスは、 'UserAdmin#removeUser'メソッドの中で使われているインスタンスでなければなりません。 –
@Mockedを使用しました \t DBConnection dBConnection; – StevieG
上記のassertequalsを置くと、呼び出しエラーが発生しますが、アサーションでfalseをtrueに置き換えると、期待通りだと言われていますが、falseです。 – StevieG