kotlin - 在 git bash 中编译我的 Kotlin 测试
问题描述
我正在尝试在 git bash 中运行我的代码,这样我就不必在 Intellij 中运行它。它在 Intellij 中运行平稳,但是当我尝试在 gitbash 中编译它时给我带来了问题。
这是我能够在 Intellij 中运行的代码主体。当我在 Intellij 中运行代码时,代码运行并且测试通过。
import org.junit.jupiter.api.*
import testCases.TestCases
import testCases.BaseUser
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@TestMethodOrder(MethodOrderer.OrderAnnotation::class)
class AllTests : BaseUser() {
@BeforeAll
@Throws(Exception::class)
fun initAll() {
this.initialize()
}
@Test
@Order(1)
fun runAllTests(){
try{
TestCases()
}catch(ex: Exception){
Assertions.fail<Any>()
}
}
}
我正在尝试通过在 git bash 中执行此操作来运行和编译它:
kotlinc AllTests.kt -include-runtime -d tests.jar
我不断看到多个错误并且不确定如何解决它们:
AllTests.kt:1:12: error: unresolved reference: junit
import org.junit.jupiter.api.*
^
AllTests.kt:2:8: error: unresolved reference: testCases
import testCases.*
^
AllTests.kt:5:2: error: unresolved reference: TestInstance
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
^
AllTests.kt:5:15: error: unresolved reference: TestInstance
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
^
AllTests.kt:6:2: error: unresolved reference: TestMethodOrder
@TestMethodOrder(MethodOrderer.OrderAnnotation::class)
^
AllTests.kt:6:18: error: unresolved reference: MethodOrderer
@TestMethodOrder(MethodOrderer.OrderAnnotation::class)
^
AllTests.kt:7:18: error: unresolved reference: BaseUser
class AllTests : BaseUser() {
^
AllTests.kt:9:6: error: unresolved reference: BeforeAll
@BeforeAll
^
AllTests.kt:12:14: error: unresolved reference: initialize
this.initialize()
^
AllTests.kt:15:6: error: unresolved reference: Test
@Test
^
AllTests.kt:16:6: error: unresolved reference: Order
@Order(1)
^
AllTests.kt:20:13: error: unresolved reference: TestCases()
TestCases()
^
AllTests.kt:33:13: error: unresolved reference: Assertions
Assertions.fail<Any>()
^
解决方案
它在 IntelliJ 中运行,因为 IntelliJ 知道 junit 的 jar 文件所在的位置,因此它将其包含在运行测试的路径中。你需要做同样的事情。
您可以使用该-classpath
选项进行操作
kotlinc AllTests.kt -include-runtime -classpath /path/to/junit.jar:/path/to/other.jar -d tests.jar
如果您在 Windows 上,请将您的 jar 分开,;
而不是:
.
推荐阅读
- api - 如何将 api 函数中的数据绑定到 vue.js 中的数据对象中
- php - Laravel 无法在 mysql 中创建新表字段
- javascript - Angular2+ 使用 .getElementsByClassName() 虽然存在但返回空选择
- visual-studio - 带有蓝色边框的 Visual Studio 13 代码块
- python - Google App Engine Python 3.7 构建错误:`pip_download_wheels` 返回代码:1
- r - 如何针对 r 中的更大数据优化此 for 循环?
- django - 如何在数据折叠中显示类别中的子类别,使用 Djagno
- redux - 跨状态树的不同分支更新依赖状态的最佳实践?
- ios - 上传视频到服务器
- ios - 如何获得范围滑块中的最终值?