Php 模拟对象不会出现在覆盖范围内;这不是经过测试的类。那么,你的目标是让所有的行都包含在一个测试中吗?除此之外,我不觉得有什么问题。我想你不明白。测试模拟对象时,它不计入代码覆盖率,因为它不是真正的类。如果我写了5个测试,其中1个方法需要模拟来证明它是有效的,
Php 模拟对象不会出现在覆盖范围内;这不是经过测试的类。那么,你的目标是让所有的行都包含在一个测试中吗?除此之外,我不觉得有什么问题。我想你不明白。测试模拟对象时,它不计入代码覆盖率,因为它不是真正的类。如果我写了5个测试,其中1个方法需要模拟来证明它是有效的,,php,unit-testing,exception,mocking,Php,Unit Testing,Exception,Mocking,模拟对象不会出现在覆盖范围内;这不是经过测试的类。那么,你的目标是让所有的行都包含在一个测试中吗?除此之外,我不觉得有什么问题。我想你不明白。测试模拟对象时,它不计入代码覆盖率,因为它不是真正的类。如果我写了5个测试,其中1个方法需要模拟来证明它是有效的,当然。。然后我可以通过单元测试,但您只能看到关于代码覆盖率的4个测试。完全测试和完全代码覆盖是目标(根据需要在尽可能多的测试中)。为什么不能让一个测试使用部分模拟模拟randomInt,并抛出异常,而另一个测试不抛出异常?这难道不是100%的覆
模拟对象不会出现在覆盖范围内;这不是经过测试的类。那么,你的目标是让所有的行都包含在一个测试中吗?除此之外,我不觉得有什么问题。我想你不明白。测试模拟对象时,它不计入代码覆盖率,因为它不是真正的类。如果我写了5个测试,其中1个方法需要模拟来证明它是有效的,当然。。然后我可以通过单元测试,但您只能看到关于代码覆盖率的4个测试。完全测试和完全代码覆盖是目标(根据需要在尽可能多的测试中)。为什么不能让一个测试使用部分模拟模拟
randomInt
,并抛出异常,而另一个测试不抛出异常?这难道不是100%的覆盖率吗?哪一部分不包括在内?我看到你说部分模拟测试不算数,但我认为你错了。您能否提供回购协议来证明这一点?