You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Mockoon与Nunit为.NET6 Web API单元测试模拟API调用

你的NUnit + .NET 6 Web API测试问题解决方案

1. 模拟API调用与Mockoon的适用性

完全可以用Mockoon实现API调用的模拟——它本身就是专为快速搭建Mock API设计的工具,刚好匹配你移除外部依赖的需求。操作逻辑很直接:

  • 用Mockoon桌面端或CLI创建Mock API:定义接口的路径、HTTP方法、响应状态码和返回体(比如JSON格式的模拟数据),最后把配置导出成.json文件存在项目里。
  • 本地测试时,直接启动Mockoon服务,就能让测试请求指向这个Mock接口。

2. 仅在测试环境指向Mock API的编程实现

核心思路是配置隔离,用.NET的配置系统就能轻松实现,两种常用方式:

  • 测试项目配置文件:在测试项目中新增appsettings.Test.json,把API的基础地址改成Mockoon服务地址(比如http://localhost:3000):
    {
      "ApiSettings": {
        "BaseUrl": "http://localhost:3000"
      }
    }
    
    然后在测试类里加载这个配置,初始化API客户端:
    var config = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.Test.json")
        .AddEnvironmentVariables()
        .Build();
    var apiClient = new HttpClient { BaseAddress = new Uri(config["ApiSettings:BaseUrl"]) };
    
  • 环境变量优先:代码里优先读取环境变量,测试环境设置Mock地址,生产环境用默认地址:
    var apiBaseUrl = Environment.GetEnvironmentVariable("API_BASE_URL") ?? "https://prod-api.example.com";
    var apiClient = new HttpClient { BaseAddress = new Uri(apiBaseUrl) };
    
    这样不管是本地测试还是CI环境,只要设置对应的环境变量,就能自动切换到Mock API。

3. GitHub Actions中的Mockoon自动化配置

利用Mockoon CLI就能在CI环境中自动部署Mock服务,步骤如下(写在你的GitHub Actions yaml文件里):

  • 安装Mockoon CLI:
    - name: 安装Mockoon CLI
      run: npm install -g @mockoon/cli
    
  • 后台启动Mock服务,指定你的Mock配置文件路径:
    - name: 启动Mockoon API服务
      run: mockoon-cli start --data ./MockConfigs/MyApiMock.json --port 3000 --daemon
    
  • 设置环境变量让测试指向Mock地址,然后运行NUnit测试:
    - name: 设置Mock API地址
      run: echo "API_BASE_URL=http://localhost:3000" >> $GITHUB_ENV
    
    - name: 运行NUnit测试
      run: dotnet test --configuration Release
    

4. VS Code下的配置(无需Visual Studio工具)

你用VS Code创建的项目完全不需要依赖Visual Studio的特定工具,直接做这几步就行:

  • 本地测试时,在项目根目录新建.env文件,写入API_BASE_URL=http://localhost:3000,运行dotnet test时会自动读取这个环境变量。
  • 也可以在VS Code的launch.json里添加测试配置,直接设置环境变量:
    {
      "version": "0.2.0",
      "configurations": [
        {
          "name": ".NET 测试",
          "type": "coreclr",
          "request": "launch",
          "program": "dotnet",
          "args": ["test"],
          "env": {
            "API_BASE_URL": "http://localhost:3000"
          }
        }
      ]
    }
    
  • 把Mockoon的配置文件加入Git仓库,方便团队成员共享Mock配置。

内容的提问来源于stack exchange,提问作者usagibear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 23:20:31