问题标签 [spek]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
775 浏览

kotlin - Kotlin Spek 测试中的常量

我想在我的 Spek 测试中添加一些常量来保存测试将像这样访问的一些资源文件的文件名。

这样做的惯用方法是什么?

在 JUnit 中,我会声明一个static final值。但是在 Spek 中,我什至不能使用 a 的典型 kotlin 惯用语companion object来保存它们,因为 Spek 测试本身就是对象,不能有同伴。我什至无法标记它们,const因为我收到错误“修饰符'const'不适用于'局部变量'。

那么有没有比这更好或更首选的方法:

0 投票
0 回答
75 浏览

unit-testing - Spek 意外订单执行

我怎样才能val chromeDriver = setupChromeDriverForTest()只执行一次?如果我将它放在给定部分之前,我预计会发生这种情况,但是它被调用了两次(如您所见,使用单个测试)。所以我得到一个异常(文件正在被另一个进程使用),因为该setupChromeDriverForTest()方法加载文件。

0 投票
0 回答
416 浏览

unit-testing - Spek 参数化测试

我正在尝试从大约 8 小时开始编写一个测试......问题是 Spek 中的(对我而言)非常奇怪的行为。有时它执行,有时不执行。我有一个错误“测试类不能有两个构造函数”,没有任何理由。当我删除class DriverTest(val filePath: String, val expectedTextResult: String)然后重新放置时,它起作用了......无论如何,我要做的是参数化测试:

在这种情况下,我没有看到任何“AAAAAAAAAAAAAAAA..”,但我看到了 4 次“BBBBBBBB”。看起来,it部分没有运行。好吧,也许有什么问题chromeDriver.get,让我们评论它(其余保持不变)

现在我得到...

他?这是怎么回事。好吧,就像我在许多教程中看到的那样,让我们​​将上下文组移到里面:

再次惊喜:

好的,只需保留这些“可读性”,并使其工作......让我们把所有内容放在it部分。

哦,太好了!但是等一下......,它只执行一个测试,我的意思是只针对列表中的第一个元素。他?有人可以解释一下这种行为吗?另外,也许您知道 Spek 的其他替代品?我会用 Kotlin 编写测试。但是对于 Spek,这看起来几乎是不可能的

0 投票
2 回答
234 浏览

android - Spek + Retrofit api测试崩溃

我正在尝试使用 Spek 测试 Retrofit api

它在on{...}块上抛出 nullPointerException

相关堆栈跟踪:https ://pastebin.com/gy6dLtGg

这是我的测试课

这是我的 RxSchedulersOverrideSpek 类

0 投票
2 回答
1252 浏览

java - 为 Spek 使用 JUnit5 标签

我试图将我的测试区分为单元测试和集成测试。我的想法是使用新的 JUnit5 Annotation @Tag("unit"),它非常适合我的 JUnit 测试,但我无法让它与 Spek 一起使用。

我目前拥有的是我的班级:

我的测试:

我的 build.gradle 有:

当我执行 utest 时,这有效。然而,当对 Spek 做同样的事情时:

如果我运行 gradle 任务 utest 会发生什么,它只执行方法MyObjectTest而不执行测试MyObjectSpek

关于如何将 Spek 与 JUnit5 标签集成或其他分离单元测试和集成测试的想法有什么想法吗?

0 投票
0 回答
218 浏览

kotlin - 如何使用 Spek 和 Kluent 进行测试

我有一个简单的界面,但是当我尝试模拟它时,我的测试失败了。这是错误。

这是界面。

这是我的测试代码的一部分

0 投票
0 回答
68 浏览

kotlin - 参考 Kotlin 文档中的 Spek 测试

我正在使用 kotlin Spek 测试框架,并希望在我的文档中链接到规范。但是当引用 Spec IntelliJ 时,它告诉我它没有找到 Spec。这是可以理解的,因为 Spec 位于测试根目录中。但是有没有办法链接到规范,例如通过添加到文件的链接或其他东西?

0 投票
1 回答
491 浏览

kotlin - 使用 Spek 对 WebFlux 路由器进行单元测试

我已经在 Kotlin 中使用 Spring 的WebFlux框架大约一个月了,并且一直很喜欢它。当我准备开始使用 WebFlux 和 Kotlin 编写生产代码时,我发现自己很难以一种简单、轻量级的方式对我的路由器进行单元测试。

Spring Test是一个优秀的框架,但是它比我想要的要重,我一直在寻找一个比传统 JUnit 更具表现力的测试框架。类似于 JavaScript 的 Mocha。Kotlin 的Spek完全符合要求。

以下是我如何使用 Spek 对简单路由器进行单元测试的示例。

0 投票
1 回答
149 浏览

testing - 每个 Spek 套件运行一次数据库

一些测试需要运行数据库,例如,使用测试容器库。显然,启动它需要时间。

有没有办法在跨多个文件的整个 Spek 套件中只执行一次此操作?文档对此只字未提。

任何人都知道为什么这还没有实施?

0 投票
1 回答
173 浏览

gradle - Spek 插件无法在运行时发现方法并抛出异常:NoSuchMethodError Exception

我正在使用 Spek 插件在 IDEA-2018.2 中使用 Gradle 构建工具进行 Junit 测试这是上面的依赖版本-

依赖-

运行 throw 时,./gradlew test它可以很好地测试,没有任何错误,但是Spek Run在该测试文件中运行时,它会抛出以下错误-

由于公司的隐私没有写出实际的类名和方法。会有任何帮助吗?