電卓の最初の単体テストを作成しようとしていますが、NetBeansは、シンボルassertEquals
と注釈@Test
が見つからないと言っています。
何かを含める必要がありますか?
NetBeans 7.3.1およびW7を使用しています。
package calculator;
import org.junit.Assert.*;
public class UnitTests{
@Test
public void checkAdd(){
assertEquals(2, Calculator.rpnCalc(" 2 3 + "));
}
}
編集:おかげで、静的としてインポートして助けてくれました。テスト注釈には、
import org.junit.Test;
assertEquals
は静的メソッドです。静的な方法で明示的にインポートしないと静的メソッドを使用できないため、次のいずれかを使用する必要があります。
import org.junit.Assert;
...
Assert.assertEquals(...)
または:
import static org.junit.Assert.assertEquals;
...
assertEquals(...)
@Test
の場合は少し異なります。 @Test
は、@
でわかるように注釈です。アノテーションはクラスのようにインポートされます。
したがって、次のようにインポートする必要があります。
import org.junit.Test;
通常、import org.junit.*
などのインポートでワイルドカードを使用することは避けてください。理由については なぜJava import statement bad? でワイルドカードを使用しているのですか?)==を参照してください。
JUnit 5では、パッケージ名が変更され、アサーションはorg.junit.jupiter.api.Assertions
にあり、仮定はorg.junit.jupiter.api.Assumptions
にあります
そのため、次のstatic import
を追加する必要があります。
import static org.junit.jupiter.api.Assertions.*;
http://junit.org/junit5/docs/current/user-guide/#writing-tests-assertions も参照してください
私はJava 8環境でjUnit4.12を使用してJUnitで作業しています
私にとって:コンパイラは、私が使用した場合でも、メソッドassertEqualsを見つけることができませんでした
_import org.junit.Assert;
_
だから私は変わったassertEquals("addb", string);
にAssert.assertEquals("addb", string);
したがって、assertEqual
が認識されないという問題に直面している場合は、Assert.assertEquals(,);
に変更して問題を解決する必要があります。
Pom.xmlファイルに依存関係を追加する必要があります
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
私は同じ問題を抱えていましたcannot resolve symbol Assert
私は、異なる答えから異なるインポートを追加することでこれらの解決策を試しました。
しかし、魔法をかけた解決策は、junit-4.12.jar
をapp\lib
ディレクトリに配置し、プロジェクトをビルドして、次のようにインポートするだけでした。
import org.junit.Assert;
junit-4.12.jar
は here からダウンロードできます