2012-10-06 65 views
4

我正在嘗試使用monocov來計算單元測試覆蓋率,並遇到一個問題,有一些用盡谷歌,但似乎沒有相關的答案可用。monocov沒有生成輸出(OS X 10.7.4)

我下載並按照此提示成功構建了monocov顯示在這個[提問]:Can't get monocov to compile (Mac OS x 10.7.4)

使用monocov與NUnit的-console2一起在http://www.mono-project.com/Code_Coverage

這裏表示曾試圖爲我的命令:

$ MONO_OPTIONS="--profile=monocov:+/Users/myaccount/MyProject/MonoForm/MonoForm.Common.Generic/bin/Release" nunit-console2 /Users/myaccount/MyProject/MonoForm/MonoForm.Common.UnitTests/bin/Release/MonoForm.Common.UnitTests.dll 

而且我得到的輸出:

NUnit version 2.4.8 
Copyright(C) 2002-2007 Charlie Poole. 
Copyright(C) 2002-2004 James W. Newkirk, Michael C.Two, Alexei A. Vorontsov. 
Copyright(C) 2000-2002 Philip Craig. 
All Rights Reserved. 

Runtime Environment - 
    OS Version: Unix 11.4.0.0 
    CLR Version: 2.0.50727.1433 (2.10.9(tarball Mon May 7 20:25:51 EDT 2012)) 

...... 
Tests run: 6, Failures: 0, Not run: 0, Time: 0.052 seconds. 

$ 

我得到一個TestResult.xml是nunit-console2的一個通用輸出文件,並且沒有任何錯誤信息,也沒有作爲monoov生成的.cov文件。目前停滯不前,想法出了什麼問題。

不確定monoov的任何專家都可以在這裏看到一些亮點。謝謝!

回答

1

好吧,看起來Xamarin已經刪除了'internal'cov profiler,並且由於api已經改變,monoov不會產生任何輸出(除了mono實際加載共享庫,沒有函數被調用)。

他們已經在覈心日誌分析器中添加了一個代碼覆蓋過濾器(2015年4月7日),而我找不到任何發佈的文檔(?)。啓用它很容易。

--profile=log:coverage 

coverage    enable collection of code coverage data 
covfilter=ASSEMBLY add an assembly to the code coverage filters 
        add a + to include the assembly or a - to exclude it 
        filter=-mscorlib 
covfilter-file=FILE use FILE to generate the list of assemblies to be filtered 

的Git登錄COV清除信息和日誌覆蓋濾波器附加:

commit 16570265149730ec6a4760cc0fa34decc1a9d981 
Author: Alex Rønne Petersen <[email protected]> 
Date: Tue Apr 7 14:51:27 2015 +0200 
     [profiler] Remove old mono-cov profiler. 
     We're replacing this with coverage support in the log profiler. 

commit e91693fbb87f687a2fdb5a495c945c1872b3066c 
Author: iain holmes <[email protected]> 
Date: Fri Feb 27 10:13:54 2015 +0000 
     [cov] Install a coverage filter 
相關問題