到目前为止,我一直试图通过代码覆盖率进行测试,以便在IntelliJ中工作几个小时,但没有成功。
首先: “以覆盖率>运行”没有包含在项目中的junit会产生以下错误(显然)
线程“main”中的异常java.lang.NoClassDefFoundError:junit / textui / ResultPrinter
将junit 4.11和hamcrest-core 1.3添加到库中,然后“以覆盖率运行”:
!!!预期JUnit 3.8或更高版本:
java.lang.RuntimeException:Stub!
现在,我已经了解到更改模块选项中的依赖顺序可以解决这个问题。 因此,在更改订单后,我收到此错误:
junit.framework.AssertionFailedError: Exception in constructor: testMakeTextView (java.lang.NoClassDefFoundError: be/dave/DiversoScoreApp/MyActivity
at be.dave.DiversoScoreApp.MyActivityTest.<init>(MyActivityTest.java:20)
指向以下代码:
public class MyActivityTest extends ActivityInstrumentationTestCase2<MyActivity> {
MyActivity myActivity;
public MyActivityTest() {
super("be.dave.DiversoScoreApp", MyActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
myActivity = getActivity();
}
public void testMakeTextView() throws Exception {
TextView textView = myActivity.makeTextView("Test-text", 50);
TextView textView1 = myActivity.makeTextView("Diverso", 75);
assertEquals("TextView Text should be correct", textView.getText(), "Test-text");
assertNotSame("TextView Text should fail", textView1.getText(), "Not Diverso");
}
}
我用Google搜索并用Google搜索,但是到目前为止我找不到任何解决方案。
答案 0 :(得分:0)
如果您要测试testMakeTextView方法,则应使用@Test符号对其进行注释。 所以
@Test
public void testMakeTextView()
同样,setUp()方法有一个@Before注释,而不是我认为的@Override。