用C ++代码对嵌入式Mono脚本进行单元测试

时间:2012-12-10 03:27:04

标签: c++ unit-testing mono

我已经在我的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来创建托管代码。

1 个答案:

答案 0 :(得分:2)

最好独立测试c#代码。如有必要,在文件夹中放置一个包装器,并使用nunit直接测试实际函数。