我目前正在使用maven开发一个java项目.我们使用maven surefire插件来运行我们的junit套件作为构建过程的一部分.
我们的测试套件在覆盖范围和执行时间都在快速增长.当您在测试的第一分钟内等待十分钟以发现测试失败时,执行时间非常令人沮丧且耗时.
我想找到一种方法,使构建过程在测试套件中的第一个错误/失败时失败.我知道这对于其他构建工具是可行的,但是我一直无法找到使用maven surefire来做到这一点的方法.
我知道在surefire jira 中有一个未解决的此功能的票证,但我希望有一个现有的解决方案.
假设我有两个模型 - 用户和帐户.每个帐户最多可以有n个与之关联的用户,而用户只能与一个帐户关联.
用户说,这似乎很自然
belongs_to :account
Run Code Online (Sandbox Code Playgroud)
和帐户
has_many :users
Run Code Online (Sandbox Code Playgroud)
但是,在通过has_many声明来限制关联数量时,我不清楚最佳实践.我知道有一个:limit参数,但这只限制了返回的关联数,而不是可以存在的数量.
我怀疑答案是使用类似:before_add.但是,这种方法似乎只适用于通过<<创建的关联.所以当你使用时它会被调用
@account.users << someuser
Run Code Online (Sandbox Code Playgroud)
但如果你使用的话就没有
@account.users.create
Run Code Online (Sandbox Code Playgroud)
我还认为在User模型中使用before_save实现限制可能更实际,但似乎在User模型中实现Account业务规则有点偏差.
限制关联数量的最佳做法是什么?
编辑:每个帐户的n个用户将是存储在各个帐户中的一些商业数据,而不是在代码中无处不在的直接幻数.