【问题标题】:TDD/BDD JavaScript in ASP.NET MVC for multiple browser engines用于多个浏览器引擎的 ASP.NET MVC 中的 TDD/BDD JavaScript
【发布时间】:2015-10-21 12:00:51
【问题描述】:

开始研究 JavaScript 测试框架(例如 QUnit、Jasmine、Mocha 等)。

我将要求我们的开发人员能够遵循 TDD/BDD 方法,因此理想情况下他们将能够在 Visual Studio 中运行测试(例如使用 Chutzpah)。此外,测试将在构建解决方案时(发布模式)和构建服务器上自动运行。

不过……

我们的产品被很多人使用,我们无法控制他们使用的浏览器。但是,我们要声明我们的产品肯定适用于各种浏览器(例如 Chrome、FireFox、IE),甚至适用于特定版本(例如 IE 8 => Edge)。

在这种情况下,我不清楚我们如何使用我们的 JavaScript 测试套件并为每个浏览器引擎运行它们。这可能吗?如果是这样,请告诉我怎么做。

谢谢

格里夫

【问题讨论】:

    标签: javascript unit-testing cross-browser jasmine qunit


    【解决方案1】:

    通常,TDD 是使用单元测试而不是 UI 测试来完成的。即使您可以证明这些在多个浏览器中传递,它也不能证明应用程序在多个浏览器中工作,只是 JavaScript 在多个浏览器中完成了它应该做的事情 - 它没有考虑 HTML 或 CSS .

    尽管检查单元测试是否在多个浏览器中通过有一定的价值,但 UI 测试可以更进一步,并表明测试的功能至少在不同的浏览器中“有效”,并且大多数 UI 测试框架将支持在不同的浏览器中运行。

    但是,在我看来,支持声明:

    我们想声明,我们的产品肯定适用于 各种浏览器

    您确实需要在这些浏览器中手动测试,因为根据我的经验,您在浏览器之间看到的问题通常是可视的。

    【讨论】:

    • 嗨,汤姆。我们已经进行了 UI 测试(Selenium 等)。但是,在我们手中,UI 测试是在开发过程之后编写的,并且(有时)可能不会测试每条路径。相比之下,我们的 TDD 方法(当然会在开发过程中发生)测试所有路径。因此,我想知道我们的 TDD 测试是否可以使用不同的浏览器引擎——开发人员会在早期知道他们的代码是否很有可能因为在某个浏览器中失败而被 QA 拒绝。不过,我明白你的意思,虽然渲染引擎可能会针对不同的浏览器优化 HTML。
    • @DrGriff 如果你感兴趣的话,你可能会幸运地使用 Karma 在多个浏览器上进行测试,以及 Quixote 进行 html/css 测试。
    猜你喜欢
    • 2018-07-27
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    • 2014-06-08
    相关资源
    最近更新 更多