调试与测试
本章节介绍如何调试和测试 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 附加调试
- 启动宿主应用
- 在 Visual Studio 中打开插件项目
- 菜单:调试 → 附加到进程
- 选择宿主应用进程
- 设置断点,开始调试
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 testE2E 测试(前端)
使用 Cypress 或 Playwright 进行端到端测试。
📊 性能分析
后端性能
使用 MiniProfiler 或 Application Insights 监控性能。
前端性能
使用 Chrome DevTools 的 Performance 标签页:
- 页面加载时间
- JavaScript 执行时间
- 渲染性能
- 内存使用
❓ 常见问题排查
Q: 插件加载失败?
检查清单:
- ✅
plugin.json格式是否正确 - ✅ DLL 文件是否在
dependencies/目录 - ✅ 依赖项是否完整
- ✅ 查看宿主应用日志
Q: 前端白屏?
检查清单:
- ✅ 浏览器控制台是否有错误
- ✅ 微前端容器 ID 是否匹配
- ✅ 路由配置是否正确
- ✅ 资源路径是否正确
Q: API 调用 404?
检查清单:
- ✅ 控制器路由是否正确
- ✅ 插件是否已加载
- ✅ Swagger 中是否有该接口
- ✅ 端口是否正确