我是使用 php 測試單元的新手,我需要使用 phpunit 測試我的函數(shù) changeStatus,但是我在更改值時遇到了問題。功能更改狀態(tài)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 但函數(shù) changeStatus 需要返回 False,如果是 False 則需要返回 true。但是 Value Genus 是 False 并且是 Return False。有人可以幫助我。
- 1 回答
- 0 關(guān)注
- 135 瀏覽
添加回答
舉報
0/150
提交
取消