作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
不得不承认这是我第一次使用这种方法
在描述之前,这里是本例中的 Laravel 和 PHP 版本。拉维尔:8.15PHP:7.4.13
Route::get('/', function () {
return ['a' => 1, 'b' => 2, 'c' => 3];
public function testDemo()
{
$response = $this->get('/')->assertJsonMissing(['a' => 1, 'b' => 3]);
}
public function testDemo()
{
$response = $this->get('/')->assertJsonMissingExact(['a' => 1, 'b' => 3]);
}
This test did not perform any assertions
Time: 00:00.178, Memory: 20.00 MB
OK, but incomplete, skipped, or risky tests!
Tests: 1, Assertions: 0, Risky: 1.
Process finished with exit code 0
它说测试没有执行任何断言。请问这正常吗?因为我期待一个 passed
结果。
任何人都可以帮助我,将不胜感激。
最佳答案
对你来说可能为时已晚,但对下一个想要了解这两种方法的人(比如我)来说可能不会。
查看两者的基本实现
Illuminate/Testing/AssertableJsonString::assertMissing()在简化代码中(省略数组排序)
public function assertMissing(array $data, $exact = false)
{
$actual = json_encode($actualData);
foreach ($data as $key => $value) {
if (Str::contains($actual, $unexpected){
PHPUnit::Fail()
}
}
return $this;
}
Illuminate/Testing/AssertableJsonString::assertMissingExact()
简化代码
public function assertMissing(array $data, $exact = false)
{
$actual = json_encode($actualData);
foreach ($data as $key => $value) {
if (! Str::contains($actual, $unexpected){
return $this;
}
}
PHPUnit::Fail()
}
因此,如果整个数组在实际数据中,则 assertJsonMissing 失败,而如果至少一个键 => 值对在实际数据中,则 assertJsonMissingExact 失败,在您的情况下 'a' => 1
关于Laravel - 测试 - assertJsonMissingExact,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65403049/
不得不承认这是我第一次使用这种方法 在描述之前,这里是本例中的 Laravel 和 PHP 版本。拉维尔:8.15PHP:7.4.13 我的路线: Route::get('/', function (
我是一名优秀的程序员,十分优秀!