运行个体排毒测试

时间:2018-01-19 12:19:23

标签: detox

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

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

# detox test -g mytestcase

error: unknown option `-g'

我正在尝试使用Detox进行TDD,我可以获得的反馈越快越好。随着我的测试套件的增长,如果运行时间越来越长,我开发测试的动力会越来越小。

4 个答案:

答案 0 :(得分:3)

<强>序:
Detox是测试运行器不可知的,你实际上可以使用你想要的测试运行器。我们做的唯一一件事是尝试通过创建detox-cli来简化开发生活,detox-cli目前仅适用于mocha和jest,但您可以轻松地将其扩展到任何其他跑步者。 虽然我同意only的实现并不完美(params不是通过测试跑步者,并且通常需要一些工作),但它很容易在detox-test.js中添加你想要的任何内容。

实际答案:
与此同时,运行单个测试的最快方法是使用describe.only标记要运行的套件/测试:it.onlyjupyter notebook --no-browser --port=8889

答案 1 :(得分:2)

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

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

在上面的代码中,“仅”将运行整个测试套件。

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

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");

在上面的代码中,“仅”将运行特定的测试用例。

答案 2 :(得分:2)

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

您只需执行detox test /path/to/yourTest.spec.js,它就可以处理单个文件(已在v14.4.1上测试)。

Source

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

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

repo穿过它。看起来可能已更新。

答案 3 :(得分:0)

解决方法可能会有所帮助。是否也通过ssh将ssh通道与排毒的ssh通道一起发送到了远程主机?

  1. 在同一文件夹结构级别上创建另一个用于测试的文件夹(不是e2e,f.E。“ temp-tests”)。
  2. 将所有测试复制到临时测试
  3. 编写小脚本,然后从“ e2e”文件夹启动它。它将:

    删除e2e中的所有测试,然后仅从 “临时测试”并将其放入“ e2e”文件夹并启动。

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

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