所以我刚开始使用 Steak,它又使用 Capybara,而 Capybara 又使用 Selenium。
因此,我听说将测试拆分为许多小的 it 子句是一种很好的 RSpec 做法,每个子句都测试一小部分功能。但是它会使测试运行花费更长的时间,因为每次测试都会重复相同的步骤。
假设我正在测试一些 ajax 功能。我想测试一下:
- 单击某个链接时会出现一个表单
- 如果我向该表单提交无效输入,则会出现错误消息
- 如果我提交有效输入等,则会出现确认消息。
但是如果我把这些东西都分解成自己的测试用例,那么 Selenium 必须从头开始:它必须加载相同的页面 3 次,单击链接以使表单出现 3 次,等等。这让我印象深刻浪费。
我想做的是指定一系列保留浏览器状态的测试,因此每个测试都会从前一个测试中断的地方继续。那可能吗?