我首先想说的是我是RequireJS的新手,甚至是Jasmine的新手.
我有一些SpecRunner的问题,需要JS.我一直在关注Uzi Kilon和Ben Nadel(以及其他一些人)的教程,他们帮助了一些,但我仍然遇到了一些问题.
看来,如果在测试中抛出错误(我可以想到一个特别是类型错误),将显示spec runner html.这告诉我,我在javascript中有一些问题.但是,在我修复这些错误后,不再显示HTML. 我根本无法让测试跑者显示出来.有人发现我的代码可能会导致此问题吗?
这是我的目录结构:
Root
|-> lib
|-> jasmine
|-> lib (contains all of the jasmine lib)
|-> spec
|-> src
|-> jquery (jquery js file)
|-> require (require js file)
index.html (spec runner) specRunner.js
Run Code Online (Sandbox Code Playgroud)
这是SpecRunner(索引)HTML:
<!doctype html>
<html lang="en">
<head>
<title>Javascript Tests</title>
<link rel="stylesheet" href="lib/jasmine/lib/jasmine.css">
<script src="lib/jasmine/lib/jasmine.js"></script>
<script src="lib/jasmine/lib/jasmine-html.js"></script>
<script src="lib/jquery/jquery.js"></script>
<script data-main="specRunner" src="lib/require/require.js"></script>
<script>
require({ paths: { spec: "lib/jasmine/spec" } }, [
// Pull in all your modules containing …
Run Code Online (Sandbox Code Playgroud) 我在某处读过JBehave实际上是与Cucumber相当的Java,而Cucumber是基于Ruby的.
有人可以描述它们之间的差异提供链接吗?
几年前我曾尝试过Cucumber的一些项目,我希望再给它一次.我真的不需要另一篇"Beginning Cucumber"文章.相反,我希望看到一些实际用途,其他黄瓜用户会考虑惯用和反模式.
那么,在您看来,大型项目中实际黄瓜规格的最佳例子是什么?
我刚刚开始使用Jasmine,请原谅新手问题但是在使用时是否可以测试对象类型toHaveBeenCalledWith
?
expect(object.method).toHaveBeenCalledWith(instanceof String);
Run Code Online (Sandbox Code Playgroud)
我知道我可以做到这一点,但它正在检查返回值而不是参数.
expect(k instanceof namespace.Klass).toBeTruthy();
Run Code Online (Sandbox Code Playgroud) 老实说,我没有看到BDD和TDD之间的区别.我的意思是,两者都只是测试预期会发生什么.我已经看到BDD测试如此充实,他们几乎算作TDD测试,我看到TDD测试非常模糊,他们黑盒子很多代码.我只想说我相信两者都更好.
这是一个有趣的问题.我从哪里开始?我是从高级BDD测试开始的吗?我是从低级TDD测试开始的吗?
我从未使用过Selenium,但我想这是为了模拟所有浏览器中的用户交互.
这就像集成测试.
但是,如何以自动方式在所有浏览器上测试js库/框架(单元测试)?
使用没有Rails的RSpec在Ruby中执行TDD的过程是什么?
我需要一个Gemfile吗?它只需要rspec吗?
Ruby 1.9.3
有人可以解释这两个平台之间的区别吗?是BDD的一部分,但为什么我应该使用一个或另一个,或两者兼而有之?谢谢你的回答