我在编写API和核心功能时编写单元测试.但是我想成为一个吃着睡觉,呼吸TDD和BDD的酷迷.以正确的方式开始使用TDD/BDD的最佳方法是什么?任何书籍,资源,框架,最佳实践?
我的环境是带有Grails前端的Java后端,与几个外部Web服务和数据库集成在一起.
只是寻找一些BDD/SpecFlow的例子 - 理想情况下是一个项目,所以我可以看到如何在大项目中使用规范流程,其中多个功能我引用了相同的步骤等.
在过去的几个月里,我已经阅读了一些博客,但是还没有一个很好的,多汁的项目让别人想要了解.
欢呼,如果你可以帮助...如果你不能欢呼.:)
我一直在努力与has_many/through
Factory Girl 建立关系.
我有以下型号:
class Job < ActiveRecord::Base
has_many :job_details, :dependent => :destroy
has_many :details, :through => :job_details
end
class Detail < ActiveRecord::Base
has_many :job_details, :dependent => :destroy
has_many :jobs, :through => :job_details
end
class JobDetail < ActiveRecord::Base
attr_accessible :job_id, :detail_id
belongs_to :job
belongs_to :detail
end
Run Code Online (Sandbox Code Playgroud)
我的工厂:
factory :job do
association :tenant
title { Faker::Company.catch_phrase }
company { Faker::Company.name }
company_url { Faker::Internet.domain_name }
purchaser_email { Faker::Internet.email }
description { Faker::Lorem.paragraphs(3) }
how_to_apply { Faker::Lorem.sentence }
location "New …
Run Code Online (Sandbox Code Playgroud) 我要写一堆浏览器扩展(每个流行的浏览器都有相同的功能).我希望,一些代码将被共享,但我还不确定.当然,一些扩展将使用本机API.我对TDD/BDD没有多少经验,我认为现在是开始从这个项目中获取这些想法的好时机.
问题是,我不知道如何处理它.我应该为每个浏览器编写不同的测试吗?我应该走多远这些测试?这些扩展将非常简单 - 本地存储中的一些数据,刷新页面和通过Web套接字进行监听.
我的观察为什么对我来说很难 - 因为有很多行为,而不是那么多模型,它们也依赖于平台.
真的没有关于这个主题的那么多信息.
我收集Jest将是Facebook推荐的测试环境,显然有很多其他测试框架无关紧要,因为我正在尝试获取React.js中的TDD/BDD示例列表.
有没有人有教程/视频/ repos /幻灯片来帮助他人和我自己学习如何用React.js完成TDD/BDD?
这个问题由于"偏离主题"而被搁置,确实觉得它会对很多人有所帮助,并且是一个非常好的问题,但有些(非反应成员)认为情况并非如此.
所以不要杀掉这个问题!! 我已经开始使用Git Repo并列出我们迄今为止所拥有的链接列表以及其他已经提供的链接.如果有人想贡献,请发送PR或添加评论,我会继续将它们添加到列表中.
我最近开始学习Objective-C并使用与Xcode捆绑在一起的OCUnit编写我的测试.
我是一个很长时间的Ruby程序员,我习惯了RSpec和Cucumber - 很好的BDD框架.
在Objective-C中是否有一个像样的BDD框架?我想念我的'应该':)
我一直在寻找两个用于在前端进行单元测试的库.
QUnit - http://qunitjs.com/
Jasmine - http://jasmine.github.io/
茉莉显然更BDD的重点不是QUnit虽然我可以看到做BDD QUnit通过描述一个行为导向的方式测试.它们都能够在代码单元上运行断言,所以我认为它们都是单元测试.BDD是否与TDD相互排斥,或者您是如何编写它的?
如果您正在进行行为测试,是否需要进行单元测试?似乎如果你涵盖所有用户故事,你真的不需要知道可测试单元的细节.
你还喜欢其他任何测试框架吗?除了单元测试之外是否还有其他测试可以让开发人员在前端做什么?
我试图提交一个没有按钮的表单只使用Capybara和Rspec(没有Cucumber或Selenium,我知道已经存在一个问题).
我已经看到有一个要点是添加一个方法来提交没有按钮的表单:
module SubmitRackTestFormWithoutButton
def submit_form!
Capybara::RackTest::Form.new(driver, form).submit({})
end
end
Capybara::RackTest::Node.send :include, SubmitRackTestFormWithoutButton
Run Code Online (Sandbox Code Playgroud)
https://gist.github.com/989533,但我没有让它工作,我对它发表了评论:
我得到未定义的方法`submit_form!' for #Capybara :: Node :: Element:...实际上是通过"Capybara :: RackTest :: Node.send:include,SubmitRackTestFormWithoutButton"方法submit_form!添加到节点(而不是元素),但找到返回元素
您是否有一些想法可以解决这个问题,或者其他一些解决方案来提交没有按钮的表单?
谢谢
bdd ×10
tdd ×4
javascript ×3
testing ×3
behat ×1
capybara ×1
factory-bot ×1
grails ×1
jasmine ×1
java ×1
jbehave ×1
jestjs ×1
objective-c ×1
php ×1
qunit ×1
reactjs ×1
rspec ×1
specflow ×1
spock ×1
unit-testing ×1