单元测试后端驱动网站的javascript

时间:2016-07-19 13:25:13

标签: javascript html unit-testing nightwatch.js

我实施了NightWatch(行为驱动)测试几个网站。所有这些都是后端驱动的(Java,JSP)。

现在有些员工说错了选择,应该是一个单元测试框架。

但是前端没有任何“单位”,它只是对页面上的HTML做出反应,并将一些插件/ Vanilla JS Class绑定到它。

我错了,前端的单元测试很简单,因为(几乎)没有函数可以简单地返回一个值。它们都被页面加载到HTML元素上。

例如:

<div data-components="myComponent"><div>inner</div></div>

加载一些JavaScript(myComponent),它将改变/添加/删除页面中的一些HTML。它不会“返回”任何东西。它会更新页面。

所有建议都非常受欢迎。

1 个答案:

答案 0 :(得分:2)

单元测试是测试代码的众多方法之一。如果您现有的代码还没有任何测试,那么您很可能无法通过单元测试对其进行测试。在设计应用程序时必须考虑单元测试。单元测试很受欢迎,因为良好的设计和可测试性往往是齐头并进的。所以单元测试可以看作是代码质量的问题,尽管可以编写非常糟糕的单元测试。

话虽这么说,测试用户界面之类的东西往往不属于单元测试领域。通常不可能以可以编写有用测试的方式设计UI代码。这里的方法是从不可测试的部分中删除尽可能多的逻辑。

在我的公司,我们有一个用于服务器端代码和客户端代码(JS)的大型单元测试套件以及一些Selenium测试。很可能你的工作只会包含Selenium测试可测试的东西。

这取决于你正在制作什么样的东西。一些用户界面可能非常复杂和复杂,你肯定想测试它们。同时,寻找单位测试的机会。