Vvvv Testing 是一个专为 vvvv gamma 可视化编程环境设计的自动化测试框架,旨在帮助开发者为 .vl 补丁和 C# 节点编写可靠、可重复的测试用例。该工具基于 NUnit 构建,支持两种主要测试模式:一种是通过 VL.TestFramework 实现的集成化单元测试,适合包作者进行持续集成(CI)环境下的质量保障;另一种是轻量级的 Agent 测试工作流,允许用户在本地快速验证补丁功能或调试逻辑错误。无论是开发 vvvv 扩展包还是构建复杂的视觉程序,Vvvv Testing 都能显著提升代码质量和开发效率。它不仅能检测编译错误,还能执行入口点逻辑并捕获运行时异常,确保补丁在实际运行中的行为符合预期。
核心功能特点
- 基于 NUnit 的自动化测试框架,支持 .vl 补丁的编译与执行验证
- 自动发现 tests/ 目录下的测试文档及带 Test 后缀的测试节点
- 提供丰富的断言节点(如 AreEqual、IsNotNull、AssertElementHasError)用于在 .vl 补丁中编写测试逻辑
- 支持 CI 集成,可通过 dotnet test 或 Nuke 构建系统一键运行所有测试
- 允许通过 TestEnvironment.Host.LoadAndCompileAsync 获取底层 C# 编译结果进行深度检查
- Agent 模式支持快速手动验证,结合 vvvv.exe 命令行参数实现调试与日志分析
适用场景
Vvvv Testing 特别适合需要长期维护高质量 vvvv 插件或库的包作者使用。当你在开发一个包含多个 C# 节点和复杂 .vl 逻辑的新功能时,传统的手动点击测试极易遗漏边界情况或回归问题。借助 VL.TestFramework,你可以将每个核心功能封装进独立的测试类中,利用 [OneTimeSetUp] 初始化一次昂贵的 TestEnvironment,再对多个补丁文件发起 LoadAndTestAsync 调用,从而高效覆盖编译正确性与运行时行为。此外,对于团队协作项目,该框架天然适配 GitHub Actions 等 CI 平台,每次提交都会自动触发测试套件,防止错误进入主分支。 除了标准 CI 场景,Vvvv Testing 也极大简化了日常开发中的调试流程。当你遇到某个补丁无法正常加载或输出异常时,无需反复重启 vvvv 并手动排查,只需创建一个包含 TestNodes 的 .vl 测试补丁,通过 dotnet test 命令即可快速定位问题所在——无论是语法错误、类型不匹配还是节点连接失效。配合 –stoppedonstartup 和 –log 参数启动 vvvv,你甚至可以在图形界面中观察初始状态,同时查看详细的错误日志。这种混合式测试策略既保证了自动化覆盖率,又保留了交互式调试的灵活性,尤其适用于复杂视觉算法或实时交互系统的迭代开发。
