【问题标题】:Unittesting - Doing it wrong for plugins?单元测试 - 插件做错了吗?
【发布时间】:2015-04-03 01:37:13
【问题描述】:

我正在对我的 cakephp 插件进行单元测试。但是,我遇到了这种情况。 我的插件测试运行良好,但是当我激活另一个插件(谁的夹具(表)未加载时,我原来的测试将不再通过!

如何“解决”这个问题?是让其他测试失败的第二个插件的责任,还是我必须在我的主插件中为这种情况做好准备?

希望我把情况描述清楚...

编辑

让我们说清楚:)

我已经在插件“A”中测试了一个控制器。它通过了所有测试,所以这很棒。 但是,当我在系统中加载插件“B”并从插件“A”测试相同的控制器时,它会失败,因为插件“B”想要一个不存在的特定表,因为我的测试没有加载它的夹具。

这给了我一个问题:我必须如何测试?我应该只关注插件'A'吗?我们记住插件'B'可能会加入系统(这很复杂)...

问候

【问题讨论】:

  • “Won't work”不是恰当的错误描述。
  • 给我一个建议...通过?
  • 错误信息?堆栈跟踪?注意到了吗?
  • "Won't pass" 也不会这样做,测试失败的可能原因有 1.000.000.001 个,所以需要正确描述what 到底是什么how 到底失败了。
  • “但是当我激活另一个插件时(没有加载谁的灯具(表)”...看起来很清楚......

标签: unit-testing cakephp phpunit cakephp-3.0


【解决方案1】:

最好的办法是单独测试你的插件,这意味着只安装插件 A 并运行它的测试,然后在另一个地方安装插件 B 并运行它的测试。

如果您从插件 B 影响插件 A 导致测试失败,如果您希望所有测试都在同一个测试套件中运行,则需要修复您的测试以解决这些情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多