【问题标题】:Android Unit test are giving wrong resultAndroid单元测试给出错误的结果
【发布时间】:2017-01-09 12:03:48
【问题描述】:

当我为新创建的项目运行单元测试时,它会显示错误的结果(说所有测试都通过了)

如果您在下图中看到 4 是预期的,而 6+2 肯定不是 4

现在,当我从 Gradle 右侧菜单运行相同的测试时。它显示了测试失败的正确结果。

我做错了什么还是这是一个 android studio 错误?


编辑

运行配置映像

【问题讨论】:

  • 检查运行配置,我认为测试实际上并没有运行
  • @TobiAdeyinka 可以指定哪个配置?
  • 你的测试怎么样?
  • 在第一个场景中,我点击左边的小播放图标来测试名称。
  • 这应该没问题,只要检查一下IDE右上方的运行按钮,应该有一个下拉菜单,其中包含“编辑配置”

标签: android unit-testing android-studio android-testing gradle-android-test-plugi


【解决方案1】:

您需要在第三张图片的“VM 选项”框中添加 -ea 选项。这是为了启用 JVM 的断言功能。如果没有这个 -ea,JVM 就会忽略断言语句。 当您使用 gradle 运行测试时,它使用默认配置,这就是您的测试运行正确的原因。

【讨论】:

  • 在第一张图片上,在测试结果导航器中,如果您点击 OK 绿色按钮,就在“所有测试通过”正上方,它会显示哪些测试已运行?忽略-ea,在你的情况下没关系:)
  • 打开Android Studio后第一次运行测试说没有找到测试
  • 如果没有在 build/xxx/classes 文件夹下生成 ExampleTestClass.class 文件(搜索 build 文件夹中的所有文件)。如果是这种情况,您的“测试”文件夹不知何故未被识别为“源”文件夹。查看项目中的 app.iml 文件()。如果幸运的话,删除文件并再次打开/导入项目就可以了。或者您可以找到某种方式将“test”文件夹包含为源文件夹。
  • 无法保存之前运行 Gradle 任务的结果。
  • 删除类文件,或更改一些代码或进行干净的构建以强制它再次构建。不运行gradle test,现在看到生成的class文件了吗?
猜你喜欢
  • 2019-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 2022-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多