Skip to content

调试与测试

本章节介绍如何调试和测试 Fastdotnet 插件,包括后端和前端的调试技巧。


📖 本章内容

  • 后端调试
  • 前端调试
  • API 测试
  • 单元测试
  • 集成测试
  • 性能分析
  • 常见问题排查

🔧 后端调试

1. 本地调试

将插件 DLL 复制到宿主应用:

bash
# 构建插件
cd MyPlugin/Backend
dotnet build -c Debug

# 复制到宿主应用(根据实际路径调整)
copy bin\Debug\net10.0\*.dll D:\Fastdotnet\Backend\Fastdotnet.WebApi\bin\Debug\net10.0\Plugins\{PluginId}\dependencies\

启动宿主应用,访问 http://localhost:18889/swagger 查看 API。

2. Visual Studio 附加调试

  1. 启动宿主应用
  2. 在 Visual Studio 中打开插件项目
  3. 菜单:调试附加到进程
  4. 选择宿主应用进程
  5. 设置断点,开始调试

3. 日志记录

csharp
public class SampleController : ControllerBase
{
    private readonly ILogger<SampleController> _logger;
    
    public SampleController(ILogger<SampleController> logger)
    {
        _logger = logger;
    }
    
    public IActionResult GetData()
    {
        _logger.LogInformation("获取数据");
        _logger.LogWarning("警告信息");
        _logger.LogError("错误信息");
        return Ok(data);
    }
}

查看日志文件:Logs/fastdotnet-{date}.log


🎨 前端调试

1. 开发模式

bash
cd MyPlugin/Frontend/MyPlugin.Admin
pnpm dev

访问 http://localhost:8099,使用浏览器开发者工具调试。

2. Vue DevTools

安装 Vue DevTools 浏览器扩展:

  • 查看组件树
  • 检查响应式数据
  • 追踪事件
  • 性能分析

3. 网络请求调试

在浏览器开发者工具的 Network 标签页查看:

  • API 请求和响应
  • 请求头和响应头
  • 状态码和耗时
  • 错误信息

🧪 测试

单元测试(后端)

csharp
using Xunit;

namespace MyPlugin.Tests
{
    public class SampleServiceTests
    {
        [Fact]
        public void GetData_ShouldReturnData()
        {
            // Arrange
            var service = new SampleService();
            
            // Act
            var result = service.GetData();
            
            // Assert
            Assert.NotNull(result);
        }
    }
}

运行测试:

bash
dotnet test

E2E 测试(前端)

使用 Cypress 或 Playwright 进行端到端测试。


📊 性能分析

后端性能

使用 MiniProfilerApplication Insights 监控性能。

前端性能

使用 Chrome DevTools 的 Performance 标签页:

  • 页面加载时间
  • JavaScript 执行时间
  • 渲染性能
  • 内存使用

❓ 常见问题排查

Q: 插件加载失败?

检查清单:

  1. plugin.json 格式是否正确
  2. ✅ DLL 文件是否在 dependencies/ 目录
  3. ✅ 依赖项是否完整
  4. ✅ 查看宿主应用日志

Q: 前端白屏?

检查清单:

  1. ✅ 浏览器控制台是否有错误
  2. ✅ 微前端容器 ID 是否匹配
  3. ✅ 路由配置是否正确
  4. ✅ 资源路径是否正确

Q: API 调用 404?

检查清单:

  1. ✅ 控制器路由是否正确
  2. ✅ 插件是否已加载
  3. ✅ Swagger 中是否有该接口
  4. ✅ 端口是否正确

🔗 相关链接

Released under the MIT License.