2016-11-10 9 views
0

私はMavenプロジェクトと私のpom.xmlファイルを使用している、加算、減算、除算とJUnit assertThatの使い方は正しくありますか?

public class Calculator{ 

     public int add(int a, int b) { 
      return a + b; 
     } 

     public int subtract(int a, int b) { 
      return a - b; 
     } 

     public double multiply(double a, double b) { 
      return a * b; 
     } 

     public double divide(double a, double b) { 
      if (b == 0) { 
       throw new ArithmeticException("Division by zero."); 
      } 
      return a/b; 
     } 

    } 

を掛けるの四つの基本操作と電卓というクラスを持っている:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>br.usp.icmc</groupId> 
    <artifactId>Calculadora</artifactId> 
    <version>0.0.1</version> 
    <dependencies> 
     <dependency> 
      <groupId>org.hamcrest</groupId> 
      <artifactId>hamcrest-library</artifactId> 
      <version>1.3</version> 
     </dependency> 
    </dependencies> 
</project> 

私は

public void testSumWithAssertThat() { 
     int expectedValue = 2; 
     int returnedValue = calculator.add(1, 1);  
     assertThat(returnedValue, is(expectedValue)); 
    } 

を私は次の例外取得しています:

を次のようにJUnitのテストを作成しました
java.lang.SecurityException: class "org.hamcrest.Matchers"'s signer information does not match signer information of other classes in the same package 

なぜあなたは例外を投げていますか?この単純なコードで何がうまくいかないのですか?

+1

ここをクリックhttp://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertThat(java.lang.String、T、org.hamcrest.Matcher) – DimaSan

答えて

1

は、クラスパスに含まJUnitのライブラリで問題が解決する前hamcrest.jarであることを確認してください。

関連する問題