Laravel 4在TestCase中未发现任何测试

时间:2013-02-25 17:47:57

标签: phpunit ignore testcase

我在使用phpunit时遇到了一些问题。当我执行测试时,phpunit给了我这些警告:

  

1)警告   没有在“Illuminate \ Foundation \ Testing \ TestCase”类中找到测试。

     

2)警告   没有在“TestCase”类中找到测试。

但是我想忽略这些文件,以便phpunit不会尝试从它们运行测试。

怎么做?

5 个答案:

答案 0 :(得分:48)

希望到现在为止你找到了答案,但如果你没有这个可能会有所帮助:

  

嗯 - 确保文件名和类名都匹配。对于   例如,没有文件名为BarTest.php的FooTest类。

     

另外,你是肯定的,你有一个* Test.php文件   app / tests目录?

     

[...]

     

就是这样,即我的一个测试在filename-vs-classname中有一个拼写错误。奇怪的是,拼写错误在TestCase类中发出警告,而不是标记实际导致它的类。

自: https://laracasts.com/forum/?p=83-warnings-for-testcase-illuminate-foundation-testing-testcase/0

基本上,请确保您的文件名和类名匹配。我也正在敲打这个。

答案 1 :(得分:43)

另一个解决方案可能是使TestCase类抽象化。通过这样做,PHPUnit将不会尝试在其中找到任何测试。

abstract class TestCase {

答案 2 :(得分:4)

对我来说,问题是类名与文件名不匹配,因此定义为

的类
class ExampleTest {

未命名为ExampleTest.php。

如果您想忽略某些测试文件,请进入phpunit.xml文件并在里面

<testsuite name="Application Test Suite">
    <directory></directory>
</testsuite>

将目录标记替换为标记,并指定要使用的特定测试文件。

答案 3 :(得分:0)

对我来说,我有一个常规错误。解决方案是将类名和文件从TestFoo更改为FooTest

答案 4 :(得分:0)

我也遇到了同样的问题。我已经检查过我的文件名和类名分别与AuthTestExampleTest.php相同。

但我仍然得到同样的警告,因为我已将AuthTest.php重命名为php artisan make:test AuthTest

无论如何我删除了以前的文件并使用了ALTER PROCEDURE [Ventas].[CtasxCobxVendedor] @AGE CHAR(1), @VENDEDOR VARCHAR(10) AS BEGIN SET NOCOUNT ON SELECT V.CLIENTE Codigo, C.RazonSocialAnalitico Cliente, C.DireccionAnalitico Direccion, C.TelefonoAnalitico Telefono, V.Gestion, V.IdDos, V.DCTO, V.Factura, V.Fecha, V.Vencimiento, SUM(B.DBB) Monto, SUM(B.HBB) Pagos, SUM(B.DBB-B.HBB) Saldo FROM VENTAS.VMAESTRO V JOIN VENTAS.CTASXCOBRAR B ON (V.GESTION=B.GESTIONF AND V.AGE =B.AGE AND V.TIPO = B.TIPOF AND V.IDDOS = B.IDDOSF AND V.DCTO = B.DCTOF) JOIN VENTAS.vwCLIENTES C ON (V.CLIENTE = C.IdAnalitico) WHERE -- V.AGE =@AGE V.STA = 'A' AND V.VENDEDOR = @VENDEDOR GROUP BY V.CLIENTE,C.RazonSocialAnalitico,C.DireccionAnalitico,C.TELEFONOAnalitico,V.Gestion,V.IdDos,V.DCTO,V.Factura,V.FECHA,V.VENCIMIENTO HAVING SUM(B.DBB-B.HBB) > 0.001 ORDER BY C.RazonSocialAnalitico, V.FECHA, V.DCTO; RETURN 0; END 它起作用了。