当我在 Cucumber 和 Ruby on Rails 中编写测试时,我一直在问自己这个问题。我什么时候测试“我如何创建 X”与“可以创建 X”
我如何创建 X 似乎包括测试用户创建 X 所需的实际步骤,通常是通过表单。比如导航到新页面,点击“create X”链接,填写表格点击create,就可以看到X已经创建好了。
另一种选择,“可以创建 x”,是系统、模型和控制器是否处理创建 X 的能力,也就是它们是否正确连接。
我通常会测试这两种情况吗?我刚刚开始为我的业余项目写一个问答部分,并且无法决定是否编写类似的测试(我已经删除了背景,它们有点长)
When I click "Ask the seller a question"
And I fill out the form with a question and submit the form
Then I should see that the question has been created
And the user that posted the job has been notified
还是应该更像
When I ask the seller a question
Then I should see that the question has been posted
And the user that posted the job has been notified
区别在于我是通过表单还是工厂创建它,对吗?Rspec 在哪里发挥作用,我认为它应该测试“可以创建 X”,这是否意味着我不应该使用 cucumber 来测试它?
我想我本质上是在看“我用黄瓜测试什么”,但也许我让这件事变得更复杂,但我自己无法得出结论。你有任何见解都会很棒。