1
A
回答
6
這是單元測試的一個實體的一個簡單的示例:
class MessageTest extends \PHPUnit_Framework_TestCase {
/**
* @var Message
*/
protected $object;
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*/
protected function setUp()
{
$this->object = new Message();
}
public function testGetterAndSetter() {
$this->assertNull($this->object->getId());
$date = new \DateTime();
$this->object->setDate($date);
$this->assertEquals($date, $this->object->getDate());
$this->object->setMessage("message");
$this->assertEquals("message", $this->object->getMessage());
$this->object->setSuccess(true);
$this->assertTrue($this->object->getSuccess());
}
}
+0
這個測試類測試一個實體的自動生成方法!你真的需要測試嗎? – Ghasrfakhri
0
上有http://symfony.com/doc/current/cookbook/testing/doctrine.html
// src/Acme/StoreBundle/Tests/Entity/ProductRepositoryFunctionalTest.php
namespace Acme\StoreBundle\Tests\Entity;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
class ProductRepositoryFunctionalTest extends KernelTestCase
{
/**
* @var \Doctrine\ORM\EntityManager
*/
private $em;
/**
* {@inheritDoc}
*/
public function setUp()
{
self::bootKernel();
$this->em = static::$kernel->getContainer()
->get('doctrine')
->getManager()
;
}
public function testSearchByCategoryName()
{
$products = $this->em
->getRepository('AcmeStoreBundle:Product')
->searchByCategoryName('foo')
;
$this->assertCount(1, $products);
}
/**
* {@inheritDoc}
*/
protected function tearDown()
{
parent::tearDown();
$this->em->close();
}
}
+4
這是一個存儲庫測試,而不是一個實體。 – Roman
相關問題
- 1. 如何測試爲Hibernate實體編寫的Arquillian測試類?
- 2. 如何爲JSF類編寫Arquillian測試
- 3. 如何使用@Autowired變量爲繼承類編寫測試類
- 4. 如何爲複雜的底層實體編寫測試用例?
- 5. Symfony2/Doctrine:如何從實體類中堅持一個實體?
- 6. 如何編寫測試類來測試我的代碼?
- 7. 如何編寫用於OSGi(集成)測試的Arquillian測試類?
- 8. 如何爲頂點觸發器編寫測試類
- 9. 如何使用twisted.web.client.Agent及其子類爲代碼編寫測試?
- 10. 如何爲下面的類編寫JUnit測試用例?
- 11. 如何爲類定義編寫Ruby單元測試?
- 12. 我該如何編寫測試用例作爲dojo中的類
- 13. 如何爲Scala Play框架項目編寫Java TestNG測試類?
- 14. 如何爲某些類(如定時器類)編寫單元測試?
- 15. 如何爲參數化基類的子類編寫單元測試
- 16. Zend Framework 2如何單元測試Doctrine 2實體
- 17. 編寫一個測試器類來測試編譯的文件
- 18. 在Doctrine 2實體上使用基類?
- 19. 編寫一個類的測試工具
- 20. 測試Java數據庫實體類
- 21. 如何編寫自動測試 - 測試案例作爲一個函數或測試用例作爲一類
- 22. 將Doctrine實體轉換爲單元測試的模擬
- 23. Junit:爲刪除實體的方法編寫測試?
- 24. Doctrine 2編輯實體DQL
- 25. 有沒有辦法爲接口編寫測試,然後對所有實現測試的類進行測試?
- 26. 實體框架 - 如何爲實體類創建基類?
- 27. 如何爲類中的所有測試設置測試類別
- 28. 如何爲這些實體編寫DQL?
- 29. 如何爲GWT servlet編寫測試?
- 30. 如何爲此編寫功能測試
我不認爲''Doctrine''單元測試一個很好的例子實體類很有意義,因爲實體類不應包含任何邏輯。 –
這是真的。感謝您的建議。我想如果他們有自定義的邏輯/函數,測試版本庫將會更有意義。 – Sid
他們沒有邏輯,但他們有結構。單元測試可以測試結構。 另外@marcoshoya給出了一個函數測試的例子,可以用來確保表結構在遷移中沒有改變。 –