Jasmine网站上的角度测试教程无法正常工作

时间:2013-08-28 09:22:13

标签: unit-testing angularjs jasmine

我刚刚开始基于Jasmine对angular-seed应用程序进行练习测试。使用pivotal.github.io/jasmine/上找到的第一个测试示例时,它在我的应用上失败。

测试示例代码:

describe("A suite", function() {
  it("contains spec with an expectation", function() {
    expect(true).toBe(true);
  });
});

但传递tryjasmine.com

我对内容和观看/部分进行了测试,他们通过了。但是茉莉花网站上的那个失败了。我错过了什么或者是否需要设置一些配置?

Karma.conf.js文件:

basePath = '../';

files = [
  JASMINE,
  JASMINE_ADAPTER,
  'app/lib/angular/angular.js',
  'app/lib/angular/angular-*.js',
  'test/lib/angular/angular-mocks.js',
  'app/js/**/*.js',
  'test/unit/**/*.js'
];

autoWatch = true;

browsers = ['Chrome'];

junitReporter = {
  outputFile: 'test_out/unit.xml',
  suite: 'unit'
};

Karma-e2e.conf.js文件:

basePath = '../';

files = [
  ANGULAR_SCENARIO,
  ANGULAR_SCENARIO_ADAPTER,
  'test/e2e/**/*.js'
];

autoWatch = false;

browsers = ['Chrome'];

singleRun = true;

proxies = {
  '/': 'http://localhost:8000/'
};

junitReporter = {
  outputFile: 'test_out/e2e.xml',
  suite: 'e2e'
};

3 个答案:

答案 0 :(得分:2)

根据文档的Runner and Reporter部分的http://pivotal.github.io/jasmine/#section-The_Runner_and_Reporter,有:

document.querySelector('.version').innerHTML = jasmineEnv.versionString();

浏览器控制台抛出错误

Uncaught TypeError: Cannot set property 'innerHTML' of null

在环顾四周之后,我发现其他例子没有这条线。我在tuts + http://net.tutsplus.com/tutorials/javascript-ajax/testing-your-javascript-with-jasmine/

中使用了这个例子

在该教程中,SpecRunner.html有一段没有document.querySelector('.version').innerHTML = jasmineEnv.versionString();

的代码

一切都按预期工作。

答案 1 :(得分:1)

您正在使用旧业力的配置风格。我看到两个选项

1)你有很老的业力版,

2)你正试图在旧的配置风格上运行新的业力。

您应该尝试将业力升级到最新版本并将配置迁移到新样式,请参阅:http://karma-runner.github.io/0.10/config/configuration-file.html

答案 2 :(得分:0)

您可以发表评论:

document.querySelector('.version').innerHTML = jasmineEnv.versionString();

或者你可以添加你的身体:

<div class='version'></div>