unit-testing - 如何与源文件并排运行Kotlin测试文件?

标签 unit-testing kotlin

node.jsjest中,最佳做法是将测试文件与源文件并排放置,例如

|- /main
|  |- index.js
|  |- index.test.js

然后运行jest。我们如何在Kotlin和Gradle中做同样的事情?我想要hello.kt和类似hello.test.kt的东西,并以某种方式运行kotlin命令行工具来运行测试。

我已阅读kotlin-example,但它们在maintest文件夹中有文件。

P / S:如果有人知道如何在Swift中也做同样的事情,那就太好了。

最佳答案

作为使用Kotlin和Gradle的最佳实践,您应该将生产代码与测试代码分开放在不同的目录中,并将要测试的类放在同一目录下(测试可以在测试过程中轻松访问软件包可见的受限方法)了解包装布局)。您可以找到此guideline in the Gradle user guide。和same applies to Maven:

因此,您的布局应遵循:

src
├── main
│   └── kotlin
│       └── packagename
|           └── Hello.kt
└── test
    └── kotlin
        └── packagename
            └── HelloTest.kt

遵循这些约定,可以轻松地使用$gradle test执行测试,并且每位经验丰富的Java / Kotlin / Gradle / Maven开发人员都将轻松理解您的项目组织。

关于unit-testing - 如何与源文件并排运行Kotlin测试文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53794665/

相关文章:

java - 如何使用 @PathVariable 对 Spring MVC Controller 进行单元测试?

android - 缓存在 Android Paging 3 中不起作用

java - Gson IllegalStateException 预期为 BEGIN_OBJECT,但当数据类型为 CharSequence 时为 STRING

multithreading - 智能转换是不可能的,因为 ... 是一个可变的属性,此时可能已经改变

android - 如何在多模块gradle项目中提供测试数据和类

android-studio - Toast错误 "None of the following functions can be called with the arguments supplied:"

node.js - Cypress 选择 HTML <select> 的特定子级

javascript - 在 Node.js 中使用 Jest 进行单元测试

php - LARAVEL 单元测试 - 与 seeInDatabase 相反

javascript - 如何使用 Jasmine 对窗口对象进行 Object.defineProperty 单元测试?