【问题标题】:Is PhpUnit a trait a good practice?PhpUnit 是一个好习惯吗?
【发布时间】:2016-01-03 02:48:04
【问题描述】:

在一个项目中,我们使用了大约十个相似类使用的三个特征(但这些类的工作方式并不完全相同)。

我们使用 trait 是因为这是与其他公司 10 个不同的人交流的一种方式,而且他们都不会使用相同的输入格式来接收我们的数据。这是我们根据不同的用例标准化一些方法的一种方式。


我想用一些 phpUnit 测试来覆盖一个 trait,因为我想测试 «使用该 trait 的类的默认用例»。

对我来说,在一个 trait 中介绍一个方法的默认用例是个好主意。

如果我使用 trait 的班级对我的 trait-method 进行了超载,那是另一个问题,我认为该案例也需要涵盖。


所以这是我的问题:这是用 PhpUnit 覆盖 trait 的好习惯吗?

对不起我的英语不好……

【问题讨论】:

  • 是的,你应该测试你的traits中的方法,就像你测试你的类中的方法一样。

标签: php phpunit code-coverage traits xunit


【解决方案1】:

测试特征是一个完全有效的用例,PHPUnit 通过getMockForTrait() 方法有效地支持它。

https://phpunit.de/manual/current/en/test-doubles.html#test-doubles.mocking-traits-and-abstract-classes

如果另一个类重写了一个 trait 方法,您将在相关类的测试用例中对其进行测试,所以我认为这不会带来问题。

【讨论】:

    猜你喜欢
    • 2014-12-22
    • 2020-08-25
    • 2015-05-08
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    • 2014-05-01
    • 1970-01-01
    相关资源
    最近更新 更多