使用Zombie测试Node.js应用程序

时间:2012-01-15 19:28:36

标签: node.js coffeescript express zombie.js coffeekup

我正在使用express框架在coffee-script中编写node.js应用程序。在探索了几个选项后,我终于决定使用mocha和zombie.js。但是,我正在对UI进行严格测试。例如,要实现成功的用户身份验证,请执行以下操作:请参阅此处粘贴的代码my_gist

我真正想做的是以下内容:

  • 调用get '/sessions/new',它将调用 SessionsController 并显示身份验证表单
  • 然后我会调用browser.visit方法,输入字段的值并提交表单,这将生成帖子方法
  • 如果用户名和密码正确,我希望 SessionsController 做出相应的反应并重定向到正确的页面。 不幸的是,每当我运行测试时,它就会抱怨Zombie: require is not defined ReferenceError: require is not defined。事实证明它不喜欢我的/javascripts/app.js中的两行

    
    require("coffee-script")
    require('./tfs.coffee')
    

即使我在访问方法后尝试从浏览器中提取任何信息,我也只是得到了未定义的值。显然我的断言都没有被测试。它只是通过了测试。有什么我做错了吗?是否有人使用Zombie.js在快递中测试咖啡脚本编写的应用程序遇到了这个问题?可能是什么修复?

1 个答案:

答案 0 :(得分:0)

如果从浏览器加载/javascripts/app.js,您需要确保首先加载RequireJS(或定义require的其他浏览器框架),或者将它们加载到HTML文档中:

<script src="coffee-script.js" type="text/javascript"></script>
<script src="tfs.coffee" type="text/coffee"></script>

在提取值之前,您可能需要等到页面完全加载。

相关问题