build-flow.api/tests/BuildFlow.Scripting.Tests/BuildFlow.Scripting.Tests.csproj
xiangning e9cc9247f2 test(scripting): 集成测试 + 按钮链回归测试
ScriptExecutionServiceTests:
- 脚本执行返回结果(简单+变量读取)
- 沙箱拦截(File/Reflection 禁用 API 抛异常)
- 草稿可测(ExecuteTestAsync 跳过 Published)
- 状态守卫(Draft/Disabled 拒绝正式执行)
- 执行日志写入(success/timeout/failed)
- 业务异常冒泡不包裹
- 编译缓存(同代码两次执行)
- Logger 输出收集
- ExecuteByNameAsync 按名执行

ScriptCommandHandlerTests:
- Create 唯一名校验 + 默认超时
- Update Disabled 拒绝 + Published 自增版本
- Delete Published 拒绝 + Draft 软删除
- Publish 状态+版本

BuildFlowButtonActionTests(回归):
- ExecuteAsync_RunFunctionAction 通过 IScriptExecutionService 执行脚本
- ExecuteAsync_DraftButton 状态守卫

Task T9 of scripting module refactor (final)
2026-07-07 11:12:28 +08:00

23 lines
1.0 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="xunit" Version="2.9.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2" />
<PackageReference Include="FluentAssertions" Version="6.12.2" />
<PackageReference Include="NSubstitute" Version="5.3.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="10.0.7" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\modules\scripting\Application\Scripting.Application.csproj" />
<ProjectReference Include="..\..\src\modules\scripting\Infrastructure\Scripting.Infrastructure.csproj" />
</ItemGroup>
</Project>