2014-01-30 42 views
0

我有一个Web项目,在JavaScript中编码80%,在Django中编码为20%,没有一个单元测试,因为我冲向最小营销功能。现在该项目获得了资助,我决定投入一些时间来介绍TDD。我从这个KickStarter资助的教程中获得了很多灵感。使用Django与Node.js测试驱动的JavaScript开发

http://www.letscodejavascript.com/

作者使用Node.js的,杰克,林特,Nodeunit和噶简化整个集成过程。所有主流浏览器中的服务器/客户端测试都是在一个命令中完成的,而且我真的很喜欢这个想法,但它需要切换到Node.js.

我在Django中搜索了TDD,并且遇到了使用Selenium的本教程。

http://www.tdd-django-tutorial.com/

然而这个TDD主要基于在服务器单元测试。这是问题。

  • 多个客户端JavaScript测试可以在Django/Python中完成吗?

我认为答案是否定的,因为js文件只不过是Django中的静态库。如我错了请纠正我。

  • 是否值得使用Node.js只是为了TDD Javascript?

我的逻辑是不是你使用Python或Node.js的服务器,但由于像噶和Buster.js工具需要Node.js的,我想知道是否只是为了多设置Node.js的Django的旁边在考虑较低的维护成本时,客户测试是合理的选择。

谢谢:d

回答

0

你可以看看在你的Django测试套件使用硒。 Django's official docs cover this中等细节

要回答你关于Node.js的问题 - 我想说,为了运行单元测试,添加node.js SOLELY可能不值得复杂。此外,由于您的JavaScript可能构建在浏览器中运行,因此如果您使用像selenium这样的工具(在实际浏览器中运行代码,提供python脚本界面),那么事情就不太可能发生故障。

+0

该项目是一个在线文档编辑器(有些扭曲),并且具有超出简单DOM操作的逻辑,我不认为可以使用Selenium进行测试。我希望使用QUnit创建测试套件,而Selenium可以在多个客户端上运行该套件。如果一切都失败了,我总是可以在每个浏览器上手动运行测试,但到目前为止,我只在Node.js – lustdante

+0

中看到过这种一劳永逸的解决方案,它绝对*可以运行qunit测试并检查结果 – Jiaaro