2012-08-28 25 views
0

在我的silverlight單元測試中,我有幾個單元測試方法,其中每個方法中我將Thread.Name設置爲某個字符串。現在這應該會在第一次之後崩潰,因爲Thread.Name在它已經被分配後不能被設置,我也檢查過每個測試方法都在一個具有與其他人相同的管理標識的線程上運行,所以我困惑爲什麼它不會拋出一個錯誤,在每次單元測試運行後,線程是否以某種方式「重置」?Silverlight單元測試中的線程重命名

+0

您使用哪個測試運行? – seldary

+0

我使用Silverlight for Windows Phone單元測試框架,設置完全像這樣http://www.smartypantscoding.com/a-cheat-sheet-for-unit-testing-silverlight-apps-on-windows-phone -7 – user977198

回答

0

所以我想你正在使用MSTest - MSTest使用ThreadPool的新線程進行每個測試(它也爲每個測試創建一個全新的測試類)。
儘管它有點慢,它確保了測試的隔離(如果你並行運行它們更重要)。

你(可能)不應該打擾與測試之間的共享狀態,因爲每個測試應該獨立...

+0

我不認爲我在這個頁面上http://www.jeff.wilcox.name/2009/03/asynchronous-testing/他提到桌面單元測試(我假設這是mstest)使用每個單元測試的新線程和應用程序域;然而,它表示silverlight單元測試在主UI線程中執行所有單元測試,這是有道理的,但它並不能解釋每次單元測試之間會發生什麼情況,讓我可以一次又一次地重命名線程。 – user977198