如何让Android Studio将文件识别为源(测试)

Dav*_* T. 30 junit android intellij-idea gradle android-studio

我正在尝试为一个Android项目创建Robolectric测试(哎呀,我很乐意甚至让他们进行单元测试)

我有文件夹目录:

MyApp
    - app
        - src
            - main
                - java
                    - com.myapp
                        HelloWorld
            - test
                - java
                    - com
                        - myapp
                            HelloWorldTest.java
Run Code Online (Sandbox Code Playgroud)

问题是HelloWorldTest.java无法运行,因为它没有被识别为源.我如何设置它,以便我可以运行这个类作为测试?????

如果我尝试CMD + SHIFT + T(创建测试的快捷方式),它会提示在与我的源文件相同的目录下创建测试,我不希望这样

Ben*_*ton 32

在Android Studio 1.0中,该方案已经发生了一些变化.

你的路径应该是(app)/src/androidTest/java/com/myapp/HelloWorldTest.java

以下是我在新Android Studio项目中设置单元测试的方法:

  • 在Android Studio中打开应用.
  • 设置Project explorer(左侧窗口)以显示"Project"模式.点击左上角的小下拉菜单,然后选择"项目".
  • 右键单击'src'目录,'New - > Directory'.
  • 调用新目录androidTest
  • 右键单击androidTest并添加一个'java'目录.它将显示为绿色(表示它是测试src目录).
  • 现在再次右键单击并添加一个包,例如com.mycompany.myapp.tests
  • 添加一个扩展AndroidTestCase的新类.

现在添加一个新配置进行测试:

  • 编辑配置
  • 点击左上角的+
  • 选择Android测试
  • 在"常规"选项卡中,选择主模块.
  • 点击OK

现在您可以运行测试了.


TTr*_*mit 31

在Android Studio 1.3中:

构建>选择构建变体

在Build Variants窗口中,选择Unit Tests作为Test Artifact.


pyu*_*s13 10

请遵循此处提供的指南:

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing

和这里

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Configuring-the-Structure

摘要:

由于第一个链接表示您必须重命名test目录,instrumentTest因此Studio可以自动检测测试项目的sourceSets

要么

替代是,你可以有你的tests目录根目录(与你主目录),并以某种方式状光源tests/java,作为第二连杆说

instrumenttest.setRoot("tests")
Run Code Online (Sandbox Code Playgroud)

在android标签下的sourceSets配置中

从文件

注意:setRoot()将整个sourceSet(及其子文件夹)移动到新文件夹.这会将src/instrumentTest/*移动到tests/*这是特定于Android的,并且不适用于Java sourceSets.