相关疑难解决方法(0)

如何在Android Studio中创建测试?

刚刚下载了基于Intellij Idea的Android Studio.

如何创建测试?

我注意到有一个创建测试模块的选项,但这似乎没有做任何事情,只用src创建一个新项目

我也尝试按热键CTRL + AlT + T,它允许在现有类上创建单元测试,但它似乎想将它放在当前项目中.当然这对TDD没有帮助

有没有人有这方面的经验?

android unit-testing intellij-idea android-studio

108
推荐指数
7
解决办法
10万
查看次数

为什么Android测试运行器报告"空测试套件"?

我正在试图找出IntelliJ/Android报告"空测试套件"的原因.我有一个带有两个IntelliJ模块的小项目(Eclipse中的"Projects").Unit测试模块有自己的AndroidManifest.xml,我在底部粘贴了它.我试图运行ActivityUnitTestCase,因为测试将取决于对象Context.

主模块的包名称是nilzor.myapp.测试模块的pacakge名称是nilzor.myapp.tests

为什么测试运行器没有检测到testBlah()-method作为测试?

<?xml version="1.0" encoding="utf-8"?>
<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="nilzor.myapp.tests"
          android:versionCode="1"
          android:versionName="1.0">
    <!-- We add an application tag here just so that we can indicate that
         this package needs to link against the android.test library,
         which is needed when building test cases. -->
    <application>
        <uses-library android:name="android.test.runner"/>
    </application>
    <!--
    This declares that this application uses the …
Run Code Online (Sandbox Code Playgroud)

android intellij-idea

98
推荐指数
4
解决办法
7万
查看次数

Android工作室为AndroidTestCase说"空测试套件"

我创建了一个扩展AndroidTestCase的示例测试用例.当我运行测试用例时,它会说错误

Running tests
Test running startedTest running failed: 
Instrumentation run failed due to 'java.lang.RuntimeException'
Empty test suite.
Run Code Online (Sandbox Code Playgroud)

测试用例

import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;

import static org.junit.Assert.assertEquals;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;

import java.lang.Exception;
import java.lang.Override;

public class DateFormatTest extends AndroidTestCase{

    @Override
    protected void setUp() throws Exception {
        super.setUp();
    }

    @Override
    protected void tearDown() throws Exception {
        super.tearDown();
    }

    public DateFormatTest(){
        super(DateFormatTest.class);
    }


    @SmallTest
    public void testMultiply() {

        assertEquals("10 x 5 must be 50", 50, 10*5);
    }
}
Run Code Online (Sandbox Code Playgroud)

junit android gradle android-studio

36
推荐指数
7
解决办法
5万
查看次数

Android Studio单元测试:无法找到未找到的工具或类

我的Android工作室中有一个测试套件,它具有以下dir结构:

-MainProject
 -src
  --com
  --tests
    --java.xx.xxx.xx.test
Run Code Online (Sandbox Code Playgroud)

在我的AndroidManifest中,我有以下内容:

<instrumentation
    android:name="android.test.InstrumentationTestRunner"
    android:targetPackage="tests.java.xxx.xxx.xxx.test" />
Run Code Online (Sandbox Code Playgroud)

当我使用:从命令行运行我的测试时./gradlew connectedInstrumentTest,我得到:

Tests on Nexus 5 - 4.4.2 failed: Instrumentation run failed due to 'java.lang.ClassNotFoundException'
Run Code Online (Sandbox Code Playgroud)

当我从Android Studio内部运行测试时,我得到:

Running tests
Test running startedTest running failed: Unable to find instrumentation info for: ComponentInfo{tests.xxx.xxx.xxx.xxx.test/android.test.InstrumentationTestRunner}
Empty test suite.
Run Code Online (Sandbox Code Playgroud)

我还在build.gradle文件的defaultConfig中指定了testPackageName.我在Ubuntu 12.0.4上运行Android Studio 0.4.6.

有任何想法吗?

junit android unit-testing android-studio

13
推荐指数
4
解决办法
2万
查看次数

android检测测试的输出在哪里?

我设法让gradle cC工作.我的测试打印出来并记录一行文字.

grep -r text * fails.
Run Code Online (Sandbox Code Playgroud)

哪里是system.outlogging输出?

谢谢

编辑:我找到了单元测试的输出(它在.../app/build/test-results /中).但是对方仍然没有运气.

有没有办法以某种方式保存仪表化测试的输出?

android automated-tests android-instrumentation

13
推荐指数
1
解决办法
5070
查看次数