2014-12-03 31 views
2

我是Velocity新手,正在使用Mocha作爲我的測試框架。我瞭解如何編寫測試和結構,但是我在5000端口上的鏡像應用程序似乎沒有我的數據庫的複製品。我想知道是否有額外的配置,我必須做的,以獲得有線連接?我的所有測試都失敗了,但那是因爲它沒有數據來比較。流星速度鏡沒有數據

感謝您提前給予幫助,如果您需要更多信息,我很樂意提供。

回答

2

鏡子故意有自己的數據庫,所以你可以繼續在主應用程序的開發,但也有你的測試運行在後臺對鏡像。

在每次測試之前(或在所有測試之前)您應該在數據庫中設置您需要的狀態。爲此,您可以使用燈具。如果你把一個名爲anyName-fixture.js(或咖啡)的文件放在你的/ tests目錄下,Velocity將使這個文件在鏡像中可以訪問。然後該文件可以設置測試所需的數據。

Click here for an example of a fixture

在您的測試中,您可以使用流星法輕鬆調用夾具。

+0

謝謝你的回答山姆。期待閱讀更多你的書!我想知道,是否有可能將數據存儲到鏡像數據庫? – 2014-12-08 19:37:47

+0

如果你看看[這個燈具](https://github.com/meteor-velocity/velocity/blob/b5dada25e18c6bc2ef16fcc64b3d073eb2b6a544/default-fixture.js#L35)它有一些低級別的訪問數據庫。也許你可以做類似的事情。 mongorestore將不得不作爲一個有點麻煩的命令行運行。 我會建議你不要將主數據庫複製到鏡像中。這聽起來像是一個糟糕的測試設計。你希望你的測試有一個SETUP/EXECUTE和VERIFY階段。該設置是爲了確保您擁有特定測試所需的一切。 你正在使用什麼測試框架? – 2014-12-08 23:38:32

+0

@TheMeteorTestManual鏈接不再有效。我確實從Google集團獲得了Sanjo的鏈接。 https://github.com/Sanjo/meteor-jasmine/wiki/Database-Fixtures-for-Integration-Tests 這是一個很好的例子嗎?另外,你有什麼樣的例子來包含loadDefaultFixtures()? – 2015-02-11 19:52:25