Search Results for

    Show / Hide Table of Contents

    NUnit3004

    Field should be Disposed in TearDown or OneTimeTearDown method

    Topic Value
    Id NUnit3004
    Severity Info
    Enabled True
    Category Suppressor
    Code TypesThatOwnDisposableFieldsShouldBeDisposableSuppressor

    Description

    Field/Property is Disposed in TearDown or OneTimeTearDown method

    Motivation

    The Roslyn analyzer fires CA1001 for classes that have IDisposable members, but itself is not IDisposable.

    Many NUnit tests initialize fields in tests or a SetUp method and then Dispose them in the TearDown method.

    How to fix violations

    Ensure that all IDisposable fields have a Dispose call in the TearDown method.

    Configure severity

    The rule has no severity, but can be disabled.

    Via ruleset file

    To disable the rule for a project, you need to add a ruleset file

    <?xml version="1.0" encoding="utf-8"?>
    <RuleSet Name="NUnit.Analyzer Suppressions" Description="DiagnosticSuppression Rules" ToolsVersion="12.0">
      <Rules AnalyzerId="DiagnosticSuppressors" RuleNamespace="NUnit.NUnitAnalyzers">
        <Rule Id="NUnit3001" Action="Info" /> <!-- Possible Null Reference -->
        <Rule Id="NUnit3002" Action="Info" /> <!-- NonNullableField/Property is Uninitialized -->
        <Rule Id="NUnit3003" Action="Info" /> <!-- Avoid Uninstantiated Internal Classes -->
        <Rule Id="NUnit3004" Action="Info" /> <!-- Types that own disposable fields should be disposable -->
      </Rules>
    </RuleSet>
    

    and add it to the project like:

    <PropertyGroup>
      <CodeAnalysisRuleSet>NUnit.Analyzers.Suppressions.ruleset</CodeAnalysisRuleSet>
    </PropertyGroup>
    

    For more info about rulesets see MSDN.

    Via .editorconfig file

    This is currently not working. Waiting for Roslyn

    # NUnit3004: Field should be Disposed in TearDown or OneTimeTearDown method
    dotnet_diagnostic.NUnit3004.severity = none
    
    • Edit this page
    In this article
    Back to top Generated by DocFX | Copyright (c) 2018- The NUnit Project - Licensed under CC BY-NC-SA 4.0