我已经在我的C ++应用程序中嵌入了Mono(C#作为脚本语言)并且到目前为止一直很好,但现在我需要使用NUnit对C#代码进行单元测试,并且完全不知道如何启动。这是伪代码中的问题:
C ++代码:
#include <SomeCppOnlyLib.h>
int main() {
SomeMUSTBEInitializations();
EmbeddAndInvokeMonoScriptDLL();
}
extern "C"
{
__declspec(dllexport) int GetMagicNumber() {
return SomeCppOnlyLib::GetMagicNumber();
}
}
C#代码(MonoScript.DLL):
using System;
using System.Runtime.InteropServices;
public class MonoScript
{
[DllImport ("__Internal")]
extern static int GetMagicNumber();
public int GetBetterMagicNumber() {
return GetMagicNumber()+10000;
}
}
所以这就是问题:
如何在 GetBetterMagicNumber()上进行单元测试?
我正在使用MonoDevelop来创建托管代码。
答案 0 :(得分:2)
最好独立测试c#代码。如有必要,在文件夹中放置一个包装器,并使用nunit直接测试实际函数。