首页 > 解决方案 > 当我运行我的 phpunit 测试时,Docker 似乎使用了缓存

问题描述

我有一个 phpunit 单元测试:

public function testSum(): void
{
    var_dump('Hello world!!');
    exit;

    self::assertTrue(true);
}

首先,我运行这个:

$ docker-compose stop && docker-compose up -d --remove-orphans --no-recreate
$ docker-compose exec php php -n vendor/bin/phpunit -c phpunit.xml --filter testSum

输出Hello world!!符合预期。

但是,当我通过删除 echo 和 exit 命令来编辑我的测试时,

public function testSum(): void
{
    self::assertTrue(true);
}

我跑

docker-compose exec php php -n vendor/bin/phpunit -c phpunit.xml --filter testSum

我还是明白了Hello world!!。即使我运行它数十次,结果也是一样的。

但是,如果我停止并启动我的 docker 容器,测试就会正确运行。

这似乎是一个我无法清除的 docker 缓存。

有任何想法吗?

标签: phpdocker

解决方案


如果您不想使用缓存,那么

docker build --no-cache -t [imageName]

或作曲

docker-compose build --no-cache


推荐阅读