在构建期间包括第三方库测试套件?

时间:2014-02-22 16:57:04

标签: unit-testing testing continuous-integration

我正在开发一个包含一些第三方库的Web应用程序。我正在使用travis ci并拥有自己的测试套件用于我的测试,但如果他们提供了测试套件,我是否也应该运行第三方库测试套件?

例如:

MyApp
    Tests
Lib1
    Tests
Lib2
    Tests

我绝对想在MyApp下运行我自己的测试。 MyApp使用Lib1和Lib2,因此我应该先运行他们的测试套件。

1 个答案:

答案 0 :(得分:0)

如果套件仅包含测试,并且如果您确信在库发布之前已经运行了那些测试,那么不,您不应该打扰运行其他人的测试。它只会减慢测试过程,使其不那么连续。这可能会导致开发人员对本地单元测试的速度感到恼火,他们可能会在提交之前停止在本地运行测试。

如果因任何原因信任该库(例如,如果第三方正在积极开发该库以供您使用,并且该库未被其他任何人使用,或者如果您的项目经理只是偏执狂,那么您可以运行测试。除了增加的时间之外,它没有任何伤害。您可以通过在正常单元测试流程之外,在单独的Jenkins作业或类似工作中运行这些测试来缓解这种情况。

如果套件包含一个方法库,您可以在自己的测试中使用这些方法来检查或模拟第三方库,那么您可能确实想要导入库。