1
我收到了這樣的消息。當JUnit測試失敗時顯示用戶友好的消息
com.controller.Test1 > test FAILED
java.lang.NoSuchMethodError at Test1.java:18
測試編譯的依賴是
testCompile "junit:junit:4.11",
'org.mockito:mockito-all:1.10.19',
'com.jayway.jsonpath:json-path:2.2.0',
'org.hamcrest:hamcrest-all:1.3',
'org.flywaydb.flyway-test-extensions:flyway-dbunit-spring4-test:4.0'
,這是我的測試代碼。
package com.controller;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnitRunner;
import static org.hamcrest.Matchers.instanceOf;
import static org.junit.Assert.assertThat;
@RunWith(MockitoJUnitRunner.class)
public class Test1 {
@Test
public void test(){
assertThat(Long.valueOf(1), instanceOf(Integer.class));
}
}
我想要這樣的消息。
預期:java.lang.Integer中 的一個實例,但:< 1L>是一個java.lang.Long中
如何使用'assertTrue(「messageIfFail」,condition)'? – ha9u63ar
or'org.junit.Assert.assertThat(String,Object,Matcher <?super Object>)'?第一個參數(字符串)是將被包含在消息中的一個原因。話雖如此,你的測試失敗了一個'NoSuchMethodError',而不是一個斷言錯誤,讓我覺得你的類路徑有問題。 – Taylor