配置 dotMemory Unit
默认的 dotMemory Unit 配置允许“开箱即用”。 然而,在某些情况下,您可能希望重新定义特定选项,例如工作区文件的位置或自动保存工作区的总大小限制。 这是通过在程序集、测试类或测试方法之前放置 DotMemoryUnitAttribute 来完成的。
示例
[DotMemoryUnit(SavingStrategy = SavingStrategy.OnCheckFail, Directory = @"C:\tmp\Method")]
[Test]
public void TestMethod1()
{
...
}
DotMemoryUnitAttribute
DotMemoryUnitAttribute 属性
名称 | 类型 | 描述 |
|---|
CollectAllocations
| bool
| 定义是否必须收集内存分配数据(内存流量和创建堆栈跟踪数据)。 默认情况下, false。 收集分配数据会显著增加性能分析的开销。 仅在您需要测量内存流量时使用它。 请注意, AssertTraffic 属性会自动启用在标记的方法中收集分配。 在这种情况下,您无需添加 [DotMemoryUnit(CollectAllocations = true)] 属性。 |
Directory
| string
| 保存工作区文件的目录路径。 这可以是完整路径,也可以是相对于声明测试方法的程序集的路径。 请注意,为了简化操作,您可以使用一些特殊目录的占位符: <User> - 当前用户文件夹,例如 C:\Users\[username]
<LocalAppData> - 本地应用程序数据文件夹,例如 C:\Users\[username]\AppData\Local
<CommonAppData> - 程序数据文件夹,例如 C:\ProgramData
|
DiskSpaceLimit
| int
| 用于存储工作区的最大磁盘大小(以字节为单位)。 默认值为 200 MB。 在保存工作区之前,dotMemory Unit 会检查会话中所有先前保存的工作区的总大小。 如果尚未超出限制,则会保存工作区(即使这会超出限制)。 |
FailIfRunWithoutSupport
| bool
| 如果 false ,在没有 dotMemory Unit 支持的情况下运行测试时,所有 dotMemory.Check 调用将被忽略。 如果 true ,在没有 dotMemory Unit 支持的情况下运行测试时,包含 dotMemory.Check 调用的测试将失败。 默认值为 true。 |
SavingStrategy
| SavingStrategy
enum
{OnAnyFail, OnCheckFail, Never}
| 定义自动保存工作区的条件: |
WorkspaceNumberLimit
| int
| 在测试失败时可以保存的最大工作区数量。 默认值为 5。 |
最后修改日期: 2025年 9月 28日