【问题标题】:Should I use CodeIgniter's Unit Testing Class or PHPUnit/TOAST?我应该使用 CodeIgniter 的单元测试类还是 PHPUnit/TOAST?
【发布时间】:2011-06-22 17:20:37
【问题描述】:

我正在为我的 Web 开发寻找一个好的单元测试。我正在为 PHP 使用 CodeIgniter,我在 CodeIgniter 的文档中找到了this class,所以这是我的疑问:

我应该使用“单元测试类”来测试我的代码,还是使用PHPUnitTOAST 会更好?哪个更好,为什么?

我希望有经验的人可以帮助我。谢谢!

【问题讨论】:

  • 就像它在描述中所说的那样:“CodeIgniter 的单元测试类非常简单,由一个评估函数和两个结果函数组成。它不是一个完整的测试套件,而是一个简单的机制评估您的代码以确定它是否产生正确的数据类型和结果。"

标签: php unit-testing testing codeigniter


【解决方案1】:

在我看来,我认为最好使用标准的 PHPUnit 进行单元测试。

除此之外,它还有许多不错的功能,您的测试将更加一致,并且不会依赖于 CakePHP 的单元测试类。

如果将来您认为 CakePHP 不能满足您的需求,您将失去您的单元测试。 (或者说,你必须迁移它们,这是时间)

如果你正在测试依赖于 CakePHP(Controller, Model, etc) 的代码,那么使用 CakePHP 的测试没有问题,但对于任何其他情况,我认为你应该押注于更流行的单元测试套件,它可以在每个项目中使用 (PHPUnit)

测试愉快:)

【讨论】:

  • 感谢您的回答。我将等待另一种意见,但这是我从现在开始认为最好的。我使用的是 CodeIgniter,而不是 CakePHP,但我理解你的观点。
【解决方案2】:

我还没有对 codeignitor 的内置单元测试类进行任何测试。但是看起来这个类只提供了非常简单的断言功能(可能是为了追求轻量级),最糟糕的是,您必须将测试代码与生产代码混为一谈。

对于单元测试,它提供了更多的断言功能,更多的特性:如代码覆盖率、selenium RC...等。因此它可以扩展您确保代码质量的能力。另一个好处是,它不依赖于您的任何框架代码,因此您可以轻松迁移。

【讨论】:

    【解决方案3】:

    单元测试类是非常简单的测试套件。如果您需要对代码进行完整的单元测试,请使用PHPUnit

    【讨论】:

      【解决方案4】:

      Codeigniter 有自己的单元测试功能

      请转至http://codeigniter.com/user_guide/libraries/unit_testing.html

      谢谢

      【讨论】:

      • 我知道。在我的主要帖子中,我提供了这些信息,但我需要将此类与其他 php 单元测试(如 PHPUnit 或 Toast)进行比较。哪个更好,为什么。
      • Okey... 现在,如果您有时间在项目中进行单元测试,那么一定要选择 PHPUnit。我对此有很好的经验
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      相关资源
      最近更新 更多