我在使用phpunit时遇到了一些问题。当我执行测试时,phpunit给了我这些警告:
1)警告 没有在“Illuminate \ Foundation \ Testing \ TestCase”类中找到测试。
2)警告 没有在“TestCase”类中找到测试。
但是我想忽略这些文件,以便phpunit不会尝试从它们运行测试。
怎么做?
答案 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)
我也遇到了同样的问题。我已经检查过我的文件名和类名分别与AuthTest
和ExampleTest.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
它起作用了。