同时具有 php 和 javascript 的应用程序的测试用例

Test cases for an application which has both php and javascript

有一个应用程序同时使用 php 和 javascript。如果我想为这个应用程序编写测试用例。我是否必须同时编写(php 代码的 php 单元测试用例和 javascript 代码的 jasmine 测试用例)? .

我已经从 link https://phar.phpunit.de/phpunit.phar

下载了 php 单元

我只是不清楚如何开始测试cases.Please求助。 从 link https://softwareengineering.stackexchange.com/questions/28306/can-i-test-effectively-javascript-functions-with-a-php-unit-testing-framework 开始,他们说我必须为 javascript 代码编写 javascript 测试用例,为 php 代码编写 php 测试用例。但是我的 javascript 代码介于 php 代码之间。如何编写和执行测试用例?

第一个重要的概念是:要进行测试,您的代码必须是 运行,为此您必须使用每种情况所需的环境:

  • for php:通常是php命令行可执行文件
  • for Javascript:一个真正的浏览器,像 PhantomJS 这样的无头浏览器,或者 node.js

一旦你清楚了这一点,就很容易理解如何设置测试。使用 PHPUnit 测试您的 php 文件和 类,以及您选择的 Javascript 框架来测试 Javascript 代码。

关于 Javascript 代码与 php 代码混合:

  • 严格来说,Javascript 代码最终会发送到浏览器,即使它是由 php 编写的。所以它应该可以在 Javascript 环境中 运行 进行测试。

  • 但实际上,这可能表明应用程序结构不佳,其中 Javascript 代码未与后端代码分离,并且可能未使用对象和分离担忧。这将使代码很难测试。

IMO 测试中最难的部分是能够编写可测试的代码,而不是编写实际的测试。如果你的代码不使用对象,某种依赖注入,编写 HTML 和 Javascript 代码的模板没有完全与后端代码分离,我会说你会有一个糟糕的时间尝试测试它。我的建议是您使用最佳实践重写应用程序的某些部分并尝试对其进行测试。使用框架通常会有所帮助,因为框架强制分离关注点并且通常集成了单元测试。