2015-04-17 29 views
2

我需要從代碼覆蓋率中篩選出一些模塊。我使用下面的正則表達式:代碼覆蓋率設置中的正則表達式

<ModulePath>.*\.i.*\.dll$</ModulePath> 

排除以下組件:assembly.iwhatever.dll

,但它不工作。任何人都可以用正則表達式來幫助我嗎?

回答

0

你並不需要把$dll後,你可以嘗試以下方法:

<ModulePath>(.*\.i.*\.dll)</ModulePath> 

Demo

,使用錨是取決於你的文字!

+0

我需要'$'來表示'.dll'應該在字符串的末尾。 –

0

您需要使用這個方法的<Exclude>標籤內:

<Exclude> 
    <!-- But exclude some assemblies: --> 
    <ModulePath>[^.]*\.i.*\.dll$</ModulePath> 
</Exclude> 

查看更多有關這對MSDN和正則表達式demo只會排除第一.後有i的DLL。

+0

你的表情並不能幫助我...出於某種原因,文件不被排除。我猜這個問題不是表達本身,而是別的... –

+0

你確定嗎?嘗試使用'^'錨'^[^。] * \ .i。* \ .dll $'。我只是不知道你有什麼DLL,也許我們需要更加精確。順便說一句,你是否在你的測試類中添加了ExcludeFromCodeCoverage屬性。 '標籤內部的''是否是? –

+0

另請參閱'在Visual Studio 2010中,.testsettings文件僅適用於基於MSTest框架的單元測試。從Visual Studio 2012開始,測試工具不僅適用於MSTest,還適用於其他框架,如NUnit和xUnit.net。 .testsettings文件不適用於這些。 .runsettings文件旨在以適用於所有測試框架的方式定製測試工具。 –