[解決済み] ユニットテストの実行時に assertEquals への参照が曖昧である。
質問
私のアプリケーションでは
`CategoryDao` is a `interface`, `Category` is a model `class`
私のコードは
CategoryTestCase.java
package com.binod.onlineshopping.category.test;
import com.binod.onlineshopping.category.dao.CategoryDao;
import com.binod.onlineshopping.category.model.Category;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import static org.testng.AssertJUnit.assertEquals;
/**
* Created by binod on 7/13/17.
*/
public class CategoryTestCase {
private static AnnotationConfigApplicationContext context;
private static CategoryDao categoryDao;
private Category category;
@BeforeClass
public static void init() {
context = new AnnotationConfigApplicationContext();
context.refresh();
categoryDao = (CategoryDao) context.getBean("categoryDao");
}
@Test
public void addCategory(){
category=new Category();
category.setCname("Television");
category.setCdescription("TV is the product");
category.setImageUrl("c_Tv.png");
assertEquals("sucessfully inserted..",true,categoryDao.addCategory(category));
}
}
エラーは:
Error:(34, 6) java: reference to assertEquals is ambiguous
both method assertEquals(java.lang.String,boolean,boolean) in org.testng.AssertJUnit and method assertEquals(java.lang.String,java.lang.Object,java.lang.Object) in org.testng.AssertJUnit match
を試みています。
junit
でのテストは
springmvc
と
hibernate
プロジェクトでテストしようとしています。
insert
しかし、それは上記のエラーを出します。
多くのチュートリアルやリファレンスを見ましたが、私はこのエラーを処理することができません。
事前にありがとうございます。
解決方法は?
コンパイラは、メソッドの呼び出しを1つの明確なメソッドに結びつけようとするとき、他のメソッドよりも特定のメソッドを識別することができなければ、コンパイルエラーを出します。あなたの場合はどうですか?
の両方のメソッド assertEquals(java.lang.String,boolean,boolean) があります。 org.testng.AssertJUnit
とメソッド の assertEquals(java.lang.String,java.lang.Object,java.lang.Object) を参照してください。 org.testng.AssertJUnit
一致
コンパイル時にこのような曖昧さの問題が発生する場合、それはあなたが
assertEquals()
メソッドに、2つのプリミティブな
boolean
を引数にとります。
そこで
categoryDao.addCategory(category)
は、おそらく
Boolean
であり
boolean
.
ブーリアンかブーリアンリターンか?
を返す可能性を与える。
null
(として
Boolean
を処理する必要がある場合のみ、意味があります。
null
の場合です。しかし、加算操作は真か偽のどちらかです。
なんと
null
を意味するのでしょうか?
ということで、これは以下を返すべきだと思います。
boolean
.
この方法では、コンパイラによってバインドされたメソッドがあいまいでないため、あなたのコードはうまくコンパイルされるでしょう。
assertEquals(java.lang.String,boolean,boolean)
.
assertEquals() と assertTrue() どっちがいい?
また、ある式が真であるかどうかを断定するためには、単に
Assert.assertTrue()
メソッドを使用すると、より明示的になります。
assertTrue("sucessfully inserted..", categoryDao.addCategory(category));
関連
-
[解決済み】代入の左手は必ず変数 CharAt
-
[解決済み】popBackStack()とreplace()の操作はどう違うのですか?
-
[解決済み】Javaで無限大を実装する方法とは?
-
[解決済み】-XX:MaxPermSizeは何をするのですか?
-
[解決済み】デフォルトのキーストアファイルが存在しない?
-
[解決済み】Javaを使用するSelenium - ドライバの実行ファイルのパスは、webdriver.gecko.driverシステムプロパティで設定する必要があります。
-
[解決済み】Java LinkedListでNodesを使用する
-
[解決済み】 executeQuery()でデータ操作文が発行できない。)
-
[解決済み] 抽象クラスをユニットテストする方法:スタブで拡張する?
-
[解決済み】ユニットテスト中のSpring @Valueの入力について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】リンクリストの負の値の数でnegativeCntrを代入する
-
[解決済み】Hibernateエラー:同じ識別子値を持つ別のオブジェクトがすでにセッションに関連付けられました。
-
[解決済み] if / for / while 内で "Missing return statement" が発生する。
-
[解決済み】エラー「No enclosing instance of type Foo is accessible」の原因と修正方法について教えてください。
-
[解決済み】不正な反射的アクセスとは?
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み] intellijが自動配線リポジトリにタイプのBeanが見つからないと不正確な発言をする件
-
[解決済み] java.sql.SQLException を取得しました。ResultSet が終了した後の操作は許可されません。
-
[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?