2015-09-05 178 views
0

我有一个应用程序与两个模型 - 新闻音频测试失败has_paper_trail

将paper_trail添加到项目中,并将has_paper_trail放入两个模型中,该应用程序都能正常工作,但是对新闻模型的某些测试失败。

新闻中有一个方法可以检查主体是否有有效的音频URL,然后根据URL中的ID查找(Audio.find)。正是这一点,以及其他模型的类似方法,失败了。

如果我从音频规格中删除has_paper_trail,新闻测试全部通过。音频测试全部通过或不通过。

Paper Trail已停用测试(我有一个测试来检查是这种情况)。

什么导致新闻测试调用另一个模型的方法失败,但在生产中工作?

回答

0

花了几个小时搞乱了代码后,我自己发现了问题和解决方案。

我包含的模块之一与PaperTrail(它有回调)冲突。

我将has_paper_trail移到类声明中的第一个(在我的模块之前),并且所有测试都开始再次传递。

+0

很好找。 papertrail添加回调的方式可能会让人困惑。我希望回调的注册在未来的版本中更加明确。 –

+0

谢谢!也许你可以在文档中添加一个注释。 :-) –

+0

我很乐意回顾一下向自述文件添加备注的PR。 –