![](/img/trans.png)
[英]Linq does not work with MonoDevelop/Mono last version on Mac OSX 10.6.4
[英]Code Coverage for MonoDevelop Unity version on Mac OSX
所以這是上下文:
我正在MonoDevelop(Unity版本)上使用NUnit測試應用程序。
我不使用UnityTestTools。
我在用C#工作
我的問題 :
我正在尋找一種解決方案來覆蓋我的代碼。 我實際上聽說過MonoCov,但是我不知道如何在OSX上安裝它。 我也在MonoDevelop中搜索此選項,並在StackOverFlow上查看了一些帖子,但沒有找到針對我的特殊情況的任何解決方案。
那么有人有解決方案嗎?
取決於實際運行測試的Mono版本 :
例如,如果使用通過MonoDevelop嵌入的nunit,則哪個Mono版本正在運行您的nunit測試,因此您正在使用運行MonoDevelop的Mono。 如果您的測試要使用Mono或加載單獨的應用程序域,則該Mono用於單元運行器/控制台等。
為什么? 較舊的版本(3.x)包含內部cov探查器,但是在較新的版本中,它已被代碼覆蓋率過濾器取代 。
要使用較舊的monocov分析器,請在“調試”運行program.exe時(通過nunit運行器,cmdline等)添加單聲道選項“ --profile = monocov”。 這將生成一個“ program.exe.cov”文件,可以將其加載到MonoCov gui中。
較新的mono版本使用探查器覆蓋率過濾器“ --profile = log:coverage”,它產生如下輸出,並且沒有像MonoCov這樣的gui,它會產生純文本:
Coverage Summary:
xCorFlags (/Users/administrator/code/corflags/xCorFlags.exe) 26% covered (42 methods - 11 covered)
<Module> ?% covered (0 methods - 1 covered)
CorFlags.CorFlagsSettings 25% covered (4 methods - 1 covered)
CorFlags.MainClass 50% covered (2 methods - 1 covered)
CorFlags.CommandLineParser 40% covered (20 methods - 8 covered)
免責聲明:那是我自己的博客文章
如果您使用的是Mono的舊版本(由於Unity ?,現在使用的是哪個版本?),那么movcov分析器“應該”工作並生成.cov文件。 到那時,您只需要可以從源代碼構建的MonoCov Gui(更新以下內容以匹配您的OS-X env):
# Clone the MonoCov repo
git clone https://github.com/mono/monocov.git MonoCov
cd MonoCov
# A really old version of cecil and it not available as a nuget
curl http://go-mono.com/archive/cecil/cecil-0.6-bin.zip -o cecil-0.6-bin.zip
unzip cecil-0.6-bin.zip
# Make sure configure can find the Mono.Option source file
export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/4.0.3/lib:/Library/Frameworks/Mono.framework/Versions/4.0.3/lib/pkgconfig:$PKG_CONFIG_PATH
export
# Config to install to users home dir
/configure --cecil=$PWD/monocov/cecil-0.6/Mono.Cecil.dll --prefix $HOME/monocov
# Fix Makefile, gmcs no longer exists under Mono 4.x and Makefile is hard coded
sed -i.bak s/gmcs/mcs/g Makefile
# Pass -m32 to make since OS-X Mono framework is still 32-bit
CC="cc -m32" make
# Install does not properly create bin dir, do it before the first install
mkdir $HOME/monocov/bin
# Install..
make install
免責聲明:這是從另一篇博客中礦 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.