如何开玩笑地将测试数据传递给记者?

Fra*_*oiG 7 jestjs

我正在使用自定义笑话报告器来填充 testrail(测试用例管理软件)中的数据,并希望我的笑话测试成为输入测试用例管理软件的所有数据的真实来源。

我一直在努力理解如何将测试中的附加数据传递给记者。我正在测试 GraphQL API,并希望实际的 API 有效负载能够从测试到 testrail,以及稍后的附加元数据。

我能够使用的唯一数据元素是:

  ancestorTitles: [Array],
  duration: 52,
  failureMessages: [],
  fullName: 'Test suite - test case',
  location: null,
  numPassingAsserts: 0,
  status: 'passed',
  title: 'test case'
Run Code Online (Sandbox Code Playgroud)

例如,一个测试用例如下所示:

describe('My Test Suite', () => {
  test('My test case', async done => {        
    const query = `
       {
         query {
           documents {
             totalCount
           }
         }
       }`
    const response = await graphQL(query, global.apiConfig)
    const hits = response.data.documents.totalCount
    expect(hits).toHaveLength(4)
    done();
  }
)
Run Code Online (Sandbox Code Playgroud)

我怎么可能query传给记者呢?

cod*_*zer 0

@FrancoiG 直到我找到更好的东西,我才遵循。我也在使用 TestRail。所以我的每个测试名称都以 testRail 的案例编号开头。

import testCustomData from ('./config/testCustomData.json')

describe('My Test Suite', () => {
  test('C111: My test case', async done => {        
    const customData = testCustomData.C111;
    ...
    ...
  }
)
Run Code Online (Sandbox Code Playgroud)

使用相同的代码,我可以从 Jest TestRail Reporter 访问测试数据,因为测试名称中存在案例 ID。在我的情况下,数据不是动态生成的,所以我可以使用这种方法。

在您的情况下,如果queryid 是动态创建的,那么您可以动态生成文件,您将在其中使用 testrail 或任何其他唯一标识符键存储它。就我而言,这是: C111。然后您可以从 Jest Reporter 访问它。它对我有用,但我希望有一些更好的解决方案,例如使用自定义数据扩展 testResult 等。