如何在Jasmine中显示通过的测试?

时间:2017-11-11 01:05:17

标签: javascript unit-testing jasmine jasmine-node

运行jasmine时,它只显示成功测试的点(.),如果测试失败则只显示详细信息。

//test.spec.js
describe('jasmine', ()=>{
  it('should show this text', () =>{
  });
})

我的跑步命令是:jasmine-node test.spec.js

结果:

.
Finished in 0.003 seconds
1 test, 1 assertion, 0 failures, 0 skipped

如何让jasmine显示此测试结果,例如jasmine should show this text

3 个答案:

答案 0 :(得分:1)

使用--verbose标志:

> jasmine-node test.spec.js --verbose

jasmine - 0 ms
    should show this test - 0 ms

Finished in 0.007 seconds
1 test, 1 assertion, 0 failures, 0 skipped

注意:jasmine-node似乎没有得到积极维护。 jasmine CLI支持从命令行运行测试。

虽然jasmine没有详细标记,但您可以使用自定义终端报告器(例如:jasmine-terminal-reporter)。从jasmine's documentation,添加帮助文件以加载自定义报告者并在配置文件中包含帮助程序。

<强>助手/终端reporter.js

var Reporter = require('jasmine-terminal-reporter');
var reporter = new Reporter(options);

jasmine.addReporter(reporter);

<强>规格/支持/ jasmine.json

{
  "spec_dir": "spec",
  "spec_files": [
    "**/*[sS]pec.js",
  ],
  "helpers": [
    "helpers/**/*.js"
  ],
  stopSpecOnExpectationFailure: false,
  random: false
}

答案 1 :(得分:0)

我知道这是一个相对较老的问题,但是发现了一些对我有用的

describe('Desc1',() => {
   
    afterEach(() => {
      const myReporter = {
        specDone: (result) => {
          console.log('Spec FullName: ' + result.fullName);
          console.log('Spec Result: ' + result.status);
        }
      };
      jasmine.getEnv().addReporter(myReporter);
    });
})

解决方案的信用:https://groups.google.com/g/jasmine-js/c/qqOk6Nh7m4c/m/Nyovy2EjAgAJ

答案 2 :(得分:0)

您可以使用 jasmine-spec-reporter

只需在测试文件的顶部添加:

import { SpecReporter } from 'jasmine-spec-reporter';
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: 'pretty' } }));