- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
对 Kotlin 有点熟悉,我想给它介绍另一个 Android-Java 项目,作为测试的第一步。我决定直接从 Spek 开始.
我在待测模块的build.gradle中添加了如下依赖:
testCompile 'junit:junit:4.12'
testCompile "org.jetbrains.kotlin:kotlin-stdlib:1.0.2"
testCompile "org.jetbrains.kotlin:kotlin-test-junit:1.0.2"
testCompile "org.jetbrains.spek:spek:1.0.25"
除其他外,我使用了 SimpleTest git repo 的 spek-samples 类:
import org.jetbrains.spek.api.Spek
import kotlin.test.assertEquals
class SampleCalculator
{
fun sum(x: Int, y: Int) = x + y
fun subtract(x: Int, y: Int) = x - y
}
class SimpleTest : Spek({
describe("a calculator") {
val calculator = SampleCalculator()
it("should return the result of adding the first number to the second number") {
val sum = calculator.sum(2, 4)
assertEquals(6, sum)
}
it("should return the result of subtracting the second number from the first number") {
val subtract = calculator.subtract(4, 2)
assertEquals(2, subtract)
}
}
})
代码编译后,在 Android Studio 中,类声明旁边显示了一个绿色的播放按钮,用于运行类的测试。但是,这样做会导致
Process finished with exit code 1
Class not found: "com.anfema.ionclient.serialization.SimpleTest"Empty test suite.
我创建了 JUnit3 和 JUnit4 测试,它们都可以毫无问题地运行。
我是否错过了任何额外的 Spek 测试配置步骤?
最佳答案
我的失败是我没有完全/正确地配置 Kotlin。
我错过了应用 Kotlin 插件,这是通过以下几行完成的:
apply plugin: 'kotlin-android'
buildscript {
ext.kotlin_version = '1.0.2'
repositories {
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
如果您想在普通 JUnit 测试中使用 Kotlin 代码,这也是一项要求。
关于android - 运行 Spek 测试显示错误 "Empty test suite",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37392478/
运行下面的 junit 会引发异常。 import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit
我想用 JUnit 4 启动一些 Suite 类,使用另一个 Suite 类。我有一个包的以下测试套件: package com.manuel.package1; import org.junit.r
我在另一个包中有一个数组列表,如下所示: String [ ] classes= {"SuiteTest1", "SuiteTest2"} 如何获取这些类并设置@SuiteClasses({})? p
我想学习 Spring 。在 STS(Spring Tool Suite)3 的情况下,有“Spring legacy Project”。 4 有一个“Spring Starter Project”,
正在尝试在客户端和服务器之间建立 SSL 连接。但每当我尝试从客户端连接时,我的服务器上都会收到 javax.net.ssl.SSLHandshakeException: no cipher suit
我正在使用全新安装的 STS 3.8.3,但无法将 JPA 方面添加到 EJB 项目: 如果我尝试创建 JPA 项目,则找不到该选项: 我确信这些曾经在 STS 中可用。我错过了什么? 最佳答案 我们
所以我一直在尝试使用我的手机通过 burp 获取请求/SSL。基本上我多次非常仔细地遵循这些步骤: Configuring your Browser to work with Burp Configu
任何机构都在他们的商店中使用 Talend SOA Suite。 如果我没记错的话,它与 Oracle SOA Suite 和 Service Bus 相比如何,因为这两个产品都实现了 EIP 模式?
我试图改变 Pivotal tc Server Developer 3.0 版的日志记录,我发现启动服务器的 java 进程从不读取 catalina base 中的 logging.properti
让我们假设我有一个相当大的组织 Spring Tool Suite (STS) 用户。这些用户正在使用一些过时的 STS 版本(例如 3.1.0)。 将这些用户升级到最新的 STS+Eclipse 的
我正在使用 DevExpress 制作的 XtraGrid Suite。我找不到任何功能来执行此操作,但我很好奇您是否可以将按钮或超链接添加到网格单元格。 上下文:我有一个事件列表。每个事件都有时间、
我希望将SPF和DKIM添加到MailChimp的域中。 该域正在通过G Suite运行,并具有以下SPF的TXT记录: v=spf1 include:_spf.google.com ~all 该域还
The before and after hook documentation on Relish仅显示 before(:suite) 在 before(:all) 之前调用。 我什么时候应该使用其中
有一个Juice Shop易受攻击的应用程序,可作为docker镜像使用。我正在Windows 10上对其进行测试。 我能够使用以下命令运行该应用程序: docker pull bkimminich/
我正在尝试使用 NetSuite 中的套件脚本关闭销售订单。 我注意到已经关闭的记录的“状态”设置为“已关闭”。我尝试在提交记录之前设置此字段,但这不起作用,并且记录仍处于“待履行”阶段。 是否还涉及
我是 Thilina,我是 Spring 工具套件的新手。我的操作系统是Windows 8。 我首先提取了“spring-tool-suite-3.1.0.RELEASE-e4.2-win32-x86
我有一个脚本,您可以将测试套件作为参数传递给: $ bash-specs a.suite b.suite 如果用户没有提供任何测试套件,则执行当前文件夹中的所有测试套件。这就是我目前的做法: loca
我目前正在尝试在日志文件中写入 JUnite Suite 失败测试的总数。 我的测试套件定义如下: @RunWith(Suite.class) @SuiteClasses({Class1.class,
我已下载 spring-tool-suite-3.6.1.RELEASE-e4.4-win32-x86_64.zip 并在尝试解压缩和安装时收到以下错误: Error 0x80010135: Path
运行程序test4_4.py时报错,empty test suite. 查找资料发现原因: 默认情况下,pycharm将检查以test开头的文件,它们是unittest.testcase的子类
我是一名优秀的程序员,十分优秀!