问题描述
cy.readFile和cy.fixture有什么区别?
看起来它们几乎都做同样的事情:产生文件的内容。除了.env
位于cy.fixture( ... )
文件夹内,而fixture
则位于项目根目录之外。
如果两者都可以使用,那么通过使用两者之一可以得到专业人士的好处吗?
解决方法
主要区别是概念上的,但也有一些practical considerations。
夹具用于仅用于测试的文件,例如占位符测试数据,样本响应等。换句话说,夹具是如果没有测试就不会成为项目一部分的文件。
为此,固定装置提供了一些convenience utilities,例如将它们直接管道输送到cy.route()
中:
cy.route('GET','/users','fixture:users');
另一方面, readFile()
是一种通用方法,可用于读取或多或少的内容。如果您需要阅读常规项目代码中的文件,例如:翻译:
cy.readFile('translations/en_US.json').then(...);