c++ - C++ 代码中嵌入 Mono 脚本的单元测试

标签 c++ unit-testing mono

我已经将 Mono 嵌入到我的 C++ 应用程序中(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 创建托管代码。

最佳答案

最好独立测试 C# 代码。如有必要,在互操作文件中放置一个包装器,并直接使用 nunit 测试实际功能。

关于c++ - C++ 代码中嵌入 Mono 脚本的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13794599/

相关文章:

c++ - QT Creator中[main]和[mainwindow]的区别

c++ - 使用 boost::bind 重载运算符 boost undefined reference 错误

php - 如何检查 guzzle 请求的有效负载

c# - Zxing 的 System.Drawing.Bitmap 中可能存在内存泄漏

c# - 在 Mono 上测试文件权限

c# - 单声道的响应式(Reactive)扩展?

c++ - 在 OpenGL4 中绘制两个对象?

c++ - 在 pcl 查看器中绘制样条曲线

java - 根据类路径上类的存在来测试代码

android - 无法在 robolectric 的 android studio 中创建 "test"文件夹