【问题标题】:basic android unit testing基本的安卓单元测试
【发布时间】:2016-06-27 08:53:43
【问题描述】:

我正在使用Android Studio,并为MAinActivity 类编写了一个超基本测试。我从extends ActivityInstrumentationTestCase2<MainActivity>继承了MainActivityTest,我想测试一下

private MainActivity mMainActivityTest;
public void testPreconditions() {
        assertNotNull("mMainActivityTest is null", mMainActivityTest);
    }

使用gradle 单元测试,无需启动任何模拟器。

当我运行测试时,我没有看到红色或绿色条,无论我选择 assertNotNullassertNull,我总是得到 ​​p>

External tasks execution finished 'cleanTest test --tests "com.my.app.MainActivityTest.testPreconditions"

如何进行正确的单元测试?

【问题讨论】:

  • 你试过断点吗?看来您的 @Test 注释丢失了
  • @KevinWallis 我确实有@Test 注释,但它并没有改变任何东西。我注意到有一个带有Test events were not received 的日志窗口

标签: java android unit-testing gradle


【解决方案1】:

在您的build.gradle 应用级别添加依赖项:

testCompile 'junit:junit:4.12'

将您的测试放在目录中: src/test/java

然后你的简单测试,例如:

public class MainActivityTest(){
@Test
    public void testInitialAlwaysPasses(){
        assert true;
    }
}

运行它,您将看到绿线和所有输出。这是基本的单元测试。对于 Instrumentation 测试,您需要将测试放在目录中:src/androidTest/java。 (更容易的是右键单击要测试的类并选择 Goto->test。它将为您创建测试类)。从这里继续会更容易!祝你好运!

【讨论】:

  • 我试过这个:创建了一个src/test/java 文件夹,我实现了你提出的快速方法,我仍然有同样的信息。我收到一条消息External tasks execution finished 'cleanTest test --tests "com.my.app.MainActivityTest.testInitialAlwaysPasses,带有Test events were not received ,带有灰色条而不是绿色或红色。你有什么想法吗?
  • 也许您没有选择正确的配置?请看这个stackoverflow.com/a/30315572/2031068
  • 我正在寻找 gradle 单元测试,而无需启动任何模拟器。我如何知道gradle 可以通过哪些测试?
  • 选择 JUnit - 它将 testCompile 仅用于本地单元测试
  • 不好意思打扰了,我不太明白,我已经输入了我的代码import org.junit.Test;。你的意思是assertEquals(true, true);不能用gradle测试,我必须用模拟器?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-19
  • 1970-01-01
  • 2018-01-12
相关资源
最近更新 更多