我在Symfony2項目中的所有學說實體中做了一些單元測試。我在一個類UserTest中測試setter/getter,並且在類UserDbTest中使用db persistance設置/ getter,所有文件都在Entity
測試文件夾下的文件夾 測試這兩個文件是否合適很好,以及什麼是最好的地方把Db班?在symfony2中放置phpunit數據庫測試的最佳地點
Thx您的建議!
我在Symfony2項目中的所有學說實體中做了一些單元測試。我在一個類UserTest中測試setter/getter,並且在類UserDbTest中使用db persistance設置/ getter,所有文件都在Entity
測試文件夾下的文件夾 測試這兩個文件是否合適很好,以及什麼是最好的地方把Db班?在symfony2中放置phpunit數據庫測試的最佳地點
Thx您的建議!
如果您在Entity
類中沒有自定義數據庫邏輯(您不應該擁有這些邏輯),則不必創建單元和功能測試。學說被測試,即確保persist
/flush
正常工作,您不必重複這些測試。如果你想測試,例如,如果你的查詢工作正常,我個人有一個XYManager
類(其中XY
是實體的名稱),其中我把所有的自定義數據庫邏輯(和進一步抽象)放入它。我的方法受到FOSUserBundle的啓發(請參閱他們的UserManager)。
在我的項目無論是Entity
和EntityManger
類在包的Entity
文件夾,併爲這些類的測試是在Tests/Entity
文件夾中。由於功能測試比單元測試花費的時間要長很多,我使用PHPUnit的註釋將它們分開。我將@group unit
添加到所有不需要數據庫的測試,並且不是所有需要數據庫的測試都是WebTestCase
和@group functional
,或者是WebTestCase
。
如果我只想執行單元測試,我可以做
phpunit -c app/ --group unit`
和
phpunit -c app/ --group functional
只會執行功能測試。
phpunit -c app/
將執行功能和單元測試。
Thx for your answer – EAdel