1

我正在使用 express 框架在咖啡脚本中编写 node.js 应用程序。在探索了几个选项后,我最终决定使用 mocha 和zombie.js。但是,我正在努力测试 UI。例如,为了实现成功的用户身份验证,我执行以下操作:请参阅此处粘贴的代码my_gist

我真正想做的是:

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

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

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

4

1 回答 1

0

If /javascripts/app.js is being loaded from the browser, you would want to make sure that RequireJS (or some other browser framework that defines require) is loaded first, or load them in your HTML document:

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

You might need to wait until the page is fully loaded before extracting values.

于 2012-08-23T05:25:04.453 回答