1

我对 Rails 还很陌生,但我读过 Michael Hartl 的书(超级丰富,顺便说一句)。

但是,我开始使用Devise(也很有帮助)并且我有一个关于使用 rspec 进行测试的问题。在 Hartl 的书中,有所有这些用于用户验证的测试,例如电子邮件的唯一性,或者是否创建了具有有效属性的用户。

如果我使用 Devise,是否需要像这样的简单测试?

我问的部分原因是我不知道如何编写测试,即使我知道它们正在工作。一般来说,您是否需要测试 gem 以查看其内部功能是否正常工作?或者我可以假设这将起作用并且只测试可以创建和登录用户并完成它吗?

我确实测试了我的 CanCan 是如何测试我是否被重定向的,但这似乎更像是测试我创建的规则是否正确。测试 Devise 的内部功能似乎过分了?

4

1 回答 1

5

我认为测试设计的内部功能是过度的。但是,如果您对设计进行更改,无论是视图、控制器还是验证,那么测试您的更改是合适的。

我也总是有请求/接受测试来测试我的应用程序的登录/注册部分。

你还问:

一般来说,您是否需要测试 gem 以查看其内部功能是否正常工作?

不,通常不会这样做。我喜欢寻找的东西:在 gem 的 github 或网页上,它们是否链接到 TravisCI --- 你可以查看他们当前的测试套件是否有效。一般来说,在你的水平上测试,而不是低于你的水平。例如,不要测试 Rails 是否有效,只需使用 Rails。

于 2012-12-21T03:20:04.070 回答