为了账号安全,请及时绑定邮箱和手机立即绑定

使用 php 测试单元

使用 php 测试单元

PHP
森林海 2021-07-07 09:54:17
我是使用 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
提交
取消
意见反馈 帮助中心 APP下载
官方微信