我正在开发一个便于测试的库。
我需要在引导程序中加载一次文件,这在多个测试类和测试中使用。该文件不会改变状态。
通过在引导程序中放入单例然后在我的测试中访问它来解决此问题的一种方法。另一种方法是使用setUpBeforeClass
每个套件读取一次文件,但我不想这样做,因为它会在每个测试类中读取一次文件,而不是整个测试套件只读一次。 / p>
这适用于我的工作机器,但是,在我的家庭安装中,单例总是为NULL。我在两者上都使用PHP 7.1,它是两者上最新的PHPUnit。
我似乎无法在我的家庭计算机上以相同的方式访问我的引导程序文件中的任何变量。即使我使用$GLOBALS
,preserveGlobals
也会完全被删除。
我想保留我的单身人士,因为虽然它可能会让一些人离开,但它运作良好并且仅以纯粹的测试方式存在。但是,如果有一个替代我的问题,我希望如此。
答案 0 :(得分:1)
Composer,您将用于自动加载库和项目自己的类,可以设置为composer.json autoload section中的自动(并且无条件)包含文件。
{
"autoload": {
"files": ["src/MyLibrary/functions.php"]
}
}
此处,给定路径下的functions.php文件将自动拉入。同样的配置也适用于"autoload-dev": { "files": [...] }
部分。
答案 1 :(得分:0)