我已经为Web应用程序编写了集成测试,但是我不知道如何运行该测试。当我执行mvn test时,Maven构建失败并显示以下错误

[INFO] Compiling Kotlin sources from [src/main/kotlin] 
[INFO] Classpath: <...> 
[INFO] Classes directory is <...>\target\classes 
[INFO] Module name is demo 
[ERROR] <...>\src\main\kotlin\demo\Application.kt: (9, 1) 'public fun main(args: kotlin.Array<kotlin.String>): kotlin.Unit' is already defined in demo 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 

这是我的主类(Application.kt)
package demo 
 
import org.springframework.boot.SpringApplication 
import org.springframework.boot.autoconfigure.SpringBootApplication 
 
@SpringBootApplication 
open class Application 
 
fun main(args: Array<String>) { 
    SpringApplication.run(Application::class.java, *args) 
} 

这是我的测试课的一部分
package demo 
 
import org.junit.runner.RunWith 
import org.springframework.boot.test.SpringApplicationConfiguration 
import org.springframework.boot.test.WebIntegrationTest 
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner 
import demo.Application 
import demo.model.City 
import demo.repository.CityRepository 
 
@RunWith(SpringJUnit4ClassRunner.class) 
@SpringApplicationConfiguration(classes = Application.class) 
@WebIntegrationTest({"server.port=8080"}) 
class CityControllerTest { 
    @Autowired 
    private var cityRepository: CityRepository? 
    private val restTemplate: RestTemplate = TestRestTemplate() 
    // ... 
} 

当我执行 mvn clean test时没有这样的错误。因此我想Kotlin对以前编译的类感到害怕。虽然我不确定...

什么是运行集成测试的正确方法?

请您参考如下方法:

这是一个错误(https://youtrack.jetbrains.com/issue/KT-10051)。已经修复,修复将很快交付


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!