jjzjj

Asserting

全部标签

php - Laravel/PHP 单元 : Asserting sameness of two models

在Laravel中进行集成测试(使用数据库)时。断言同一Eloquent模型的两个实例相同的最佳方法是什么?AssertEquals$模型$model简单地使用->assertEquals($modelOne,$modelTwo);不会工作,因为即使它们是相同的PHPUnit检查类属性,例如wasRecentlyCreated有时模型id可以是字符串或整数。AssertEquals$model->id$model->id这里的问题是模型一个可能是另一个模型的实例,例如:AssertEquals(Person::find(1)->id,Animal::find(1)->id);返回tru

python - unittest.mock : asserting partial match for method argument

Rubyist在这里编写Python。我有一些看起来像这样的代码:result=database.Query('complicatedsqlwithanid:%s'%id)database.Query被模拟出来,我想测试ID是否正确注入(inject),而不会将整个SQL语句硬编码到我的测试中。在Ruby/RR中,我会这样做:mock(database).query(/#{id}/)但我看不到像在unittest.mock中那样设置“选择性模拟”的方法,至少没有一些毛茸茸的side_effect逻辑。所以我尝试在断言中使用正则表达式:withpatch(database)asMockD