在角单元测试(Unit testing in Angular)

2019-10-20 09:03发布

据我了解方案的领先者已被弃用。 所以,现在你会在量角器运行在噶单元测试和端到端的测试。

对于我来说,感觉不对的运行您的单元测试启动浏览器(因缘)。 是我的假设是否正确? 你怎么测试您的应用程序角?

Answer 1:

一个相当标准的实行,当它来测试的角度是使用phantomjs无头浏览器做单元测试。 你看它的任何方式,您需要一个JavaScript引擎启动并运行,然后才能进行测试。 然而,使用无头浏览器是快了很多,因为没有用户界面。

我用噶,薛宝钗和兴农(用于嘲讽) - 我的开发工作流使用phantomjs,然后我的CI和发布版本使用实际的浏览器IE,铬等我也用BrowserStack当CI构建运行。

你可以看到测试的例子,业力的配置在这里

你可能会想看看咕噜/一饮而尽,以实际管理测试的过程。

什么你特别围绕测试后?



Answer 2:

如果您想知道您的应用程序将在不同的浏览器的行为,你要在这些浏览器中运行它。 不同的浏览器有不同的DOM实现,JavaScript代码和功能等。

例如,如果你运行在Chrome或PhantomJS下面的代码会工作得很好,但在IE8,它会失败:

var arr = [1, 2, 3]

arr.forEach(function(item) {
  console.log(item);
});

forEach是不是在IE8可用,但它是在Chrome。 跑对IE8的代码单元测试本来是可以赶上的是,针对PhantomJS单元测试也不会逮到。

......所以,如果你想为你的开发周期运行的东西“无头”像PhantomJS,这很好,但非常肯定你在测试你在乎,当你建立(与希望CI)的浏览器



Answer 3:

我真的不喜欢Chrome的每一次我跑噶时间发射了,所以我切换到PhantomJS和它的作品“静静地”。



文章来源: Unit testing in Angular