0

我在为 jquery 通过 ajax 调用的操作编写测试时遇到问题。我不知道如何通过操作捕获发送回视图的数据,以便我可以断言它是否正确。我的 $.ajax(...) 脚本将控制器回显的结果插入到 textarea 元素中,但在我的测试脚本中,结果为空。失败信息:

Failed asserting that null matches expected '...

到目前为止,这是我的测试代码:

$this->getRequest()->setRawBody('some json containing input params im testing');
$this->getRequest()->setMethod('GET');
$this->getRequest->setHeader('HTTP_X_REQUESTED_WITH','XMLHttpRequest');

$this->dispatch('my url');
$result = json_decode($this->getResponse()->getBody(),true);

$expectedResult = 'some string';
$this->assertEquals($expectedResult, $result['targeted element']);
4

1 回答 1

1

我在下面写的建议是我如何测试并且已被证明更有用且更不容易出错:

  1. 没有“控制器”测试
  2. 将模型和值对象注入到您的服务中。
  3. 将服务注入您的控制器
  4. 测试模型价值对象服务
  5. 使用 aJavaScript testing framework来测试你的 JS —— 有很多不错的选择可以让你模拟你的 Ajax 调用。
于 2012-05-19T21:22:53.967 回答