我是使用 php 测试单元的新手,我需要使用 phpunit 测试我的函数 changeStatus,但是我在更改值时遇到了问题。功能更改状态public function changeStatus(Genus $genus) { $isEnabled = $genus->getEnabled(); $genusGroupTab = self::$entityManager->getRepository(Germ::class) ->findBy(['genus' => $genus->getId()]); if ($genusGroupTab != null) { /** @var Germ $germ */ foreach ($genusGroupTab as $germ) { $germ->setEnabled(!$isEnabled); self::$entityManager->persist($germ); self::$entityManager->flush(); } } $genus->setEnabled(!$isEnabled); $this->save($genus); return $genus->getEnabled(); }在我的课堂上测试这个我有这个代码:public function testActiveGenusInactiveChangeStatus() { $genus = $this->createMock(Genus::class); $genus->method('setGenusLabel')->willReturn('fefeef'); $genus->method('getId')->willReturn('3f3c6c06-5971-4e75-97ee-94543edafced'); $genus->method('getGenusLabel')->willReturn('ACIDAMINOCOCCUS'); $genus->method('getEnabled')->willReturn(false); $germe = new Germ(); $germe->setGenus($genus); $repository = $this->getMockBuilder('Doctrine\Common\Persistence\ObjectRepository')->getMock(); $this->objectManager ->expects($this->once()) ->method('getRepository') ->with(Germ::class) ->id($germe->getGenus()->getId()) ->willReturn($repository); $paramGenus = $germe->getGenus(); $this->assertFalse($this->managerGenus->changeStatus($paramGenus)); }我需要这样做:如果 Genus 的值为 True 但函数 changeStatus 需要返回 False,如果是 False 则需要返回 true。但是 Value Genus 是 False 并且是 Return False。有人可以帮助我。
1 回答
- 1 回答
- 0 关注
- 122 浏览
添加回答
举报
0/150
提交
取消