有没有办法在我的 emberjs 应用程序中获取所有已创建测试的列表?

Is there a way for getting a list of all created tests in my emberjs app?

我需要一种方法来获取所有 ember 测试的名称,因为我想 运行 通过使用 --filter "TEST-NAME" 标志将它们放在单独的线程中。

现在,我正在使用硬编码数组。

它没有记录,但您可以使用根 QUnit 对象上的 config 对象来获取测试套件中的所有模块,然后是每个模块中的测试及其名称。请注意,模块中 而非 的任何测试仍会出现,但带有 empty-named 模块。这里有一个runnable jsfiddle with the example,然后是下面的代码

QUnit.test('no-module', (assert) => { assert.equal(0,0) })

QUnit.module('foobar', () => {
  QUnit.test('foo', (assert) => { assert.equal(1, 1) })
  QUnit.test('bar', (assert) => { assert.equal(2, 2) })
})

QUnit.module('batbaz', () => {
  QUnit.test('bat', (assert) => { assert.equal(3, 3) })
  QUnit.test('baz', (assert) => { assert.equal(4, 4) })
})

const testNames = []
QUnit.config.modules.forEach((module) => {
  testNames.push(...module.tests.map(test => test.name))
})

console.log(testNames)