运行个人排毒测试

Run individual Detox test

运行 detox test 运行 套件中的所有测试。有没有办法 运行 测试的一个子集?单个测试文件或单个测试用例。

我已根据文档将 Detox 配置为使用 Mocha 作为测试 运行ner。我知道 Mocha 有一个 -g 选项来指定 运行 的测试模式。但是传递给 detox 命令的选项似乎没有传递给 mocha:

# detox test -g mytestcase

error: unknown option `-g'

我正在尝试对 TDD 使用 Detox,我能得到的反馈越快越好。随着我的测试套件的增长,如果 运行 的时间越来越长,那么随着我的发展,运行 测试的动力会越来越少。

前言:
排毒与测试 运行ner 无关,您实际上可以使用您想要的任何测试 运行ner。我们所做的唯一一件事就是通过创建 detox-cli 来尝试让开发人员的生活更轻松,它目前仅适用于 mocha 和 jest,但您可以轻松地将其扩展到任何其他 运行ner。 虽然我同意 detox-cli 的实现并不完美(参数没有被传递到测试 运行ner,通常它需要一些工作),但很容易在 detox-test.js.

实际答案:
同时,运行 个人测试的最快方法是使用 only 标记您想要 运行 的 suites/tests:describe.onlyit.only.

考虑以下代码 运行ning 特定套件

describe.only('App screen', () => {
    beforeEach(async () => {
        await device.reloadReactNative();
    });

在上面的代码中 "Only" 将 运行 整个测试套件。

考虑以下用于 运行 特定测试用例的代码

it.only('should write into TextInputs', async () => {
            await element(by.id("input")).typeText("Detox Automation POC-Test for enter text and delete text");
            await element(by.id("input")).clearText();
            await element(by.id("input")).replaceText("Bye");

在上面的代码中 "Only" 将 运行 特定的测试用例。

解决方法可能会有所帮助。是否也通过 ssh:

将 ssh-channel 连接到具有排毒功能的远程主机
  1. 在同一文件夹结构级别上为测试创建另一个文件夹(不是 e2e,f.E。"temp-tests")。
  2. 将所有测试复制到临时测试
  3. 编写小脚本并从 "e2e" 文件夹启动。它将:

    删除e2e中的所有测试,然后将只进行一次测试 "temp-tests" 并将其放入 "e2e" 文件夹并启动它。

4(可选)也可以将 mocha-report 保存到另一个文件中,用于报告问题的每个测试。

脚本: ////////////////////////////////////////// rm *.spec.js cd ../运行-测试 cp 唯一测试名 ../e2e/ 排毒测试--配置yourapp.initial

编辑:原来你根本不需要 -f 标志。

你可以只做 detox test /path/to/yourTest.spec.js 并且它适用于单个文件(在 v14.4.1 上测试)。

Source

我最终使用 -f 参数来测试特定测试。

detox test -f /path/to/yourTest.spec.js

repo 找到它。看起来它可能已经更新了。