BlueDotBrigade.DatenLokator 2.1.0

Prefix Reserved
dotnet add package BlueDotBrigade.DatenLokator --version 2.1.0
                    
NuGet\Install-Package BlueDotBrigade.DatenLokator -Version 2.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BlueDotBrigade.DatenLokator" Version="2.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BlueDotBrigade.DatenLokator" Version="2.1.0" />
                    
Directory.Packages.props
<PackageReference Include="BlueDotBrigade.DatenLokator" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BlueDotBrigade.DatenLokator --version 2.1.0
                    
#r "nuget: BlueDotBrigade.DatenLokator, 2.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package BlueDotBrigade.DatenLokator@2.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BlueDotBrigade.DatenLokator&version=2.1.0
                    
Install as a Cake Addin
#tool nuget:?package=BlueDotBrigade.DatenLokator&version=2.1.0
                    
Install as a Cake Tool

Daten Lokator

.NET CodeQL

Overview

If your automated tests are verifying more than just value types (string, int, float, etc), then consider using the BlueDotBrigade.DatenLokator NuGet package to automatically locate and load your test data (*.log, *.xml, *.json, *.jpg, etc). All you need to do is call one method:

  • new Daten().AsString()

Features

  1. Retrieve data in different formats:
    • AsBytes()
    • AsFile()
    • AsString()
    • AsStream()
    • AsStreamReader()
  2. Automatic decompression of *.zip files.
    • Useful for saving disk space.
  3. Global cache support.
    • Useful when multiple tests consume the same file as input.
  4. Run-time customization.
    • Can be used to specify where the input data will be stored.
  5. Extensible library.

Getting Started

Setup:

  1. Create a .NET automated test project.
    • For example: Using Visual Studio add a MsTest Test Project to your solution.
    • Daten Lokator will work with: MsTest, NUnit, XUnit, etc.
  2. Add the latest NuGet package to your test project:
  3. The Daten Lokator library must be initialized only once when the automated tests start.
    • Example: Lokator.Get().Setup()
    • If you are using MsTest then consider doing this where the AssemblyInitialize attribute is used.
  4. Create a.Daten folder within the project (*.csproj) directory.
    • Example: /DemoTests/.Daten
    • Storing the input data within the project directory provides traceability, because now the input data can be committed to source control (e.g. GitHub).

Managing source files:

  1. Create an automated test.
    • By default it is assumed that test method name follows the Assert Act Arrange naming convention.
  2. Save the input data in a file directory structure that mirrors the namespace.
    • For example:
      • Unit Tests: /DemoTests/Serialization/XmlSerializerTests.cs
      • Input Data: /DemoTests/.Daten/Serialization/XmlSerializerTests/*.*
    • Where:
      • .Daten is Daten Lokator's root directory for all input files.
      • Serialization is the namespace where the XmlSerializerTests.cs automated tests can be found.
  3. When an input file is needed, simply call the appropriate Daten method from your automated test.
    • For example: new Daten().AsString()

Sample Code

The following unit tests, written for a trivial application, demonstrate how:

  1. easy it is to use Daten Lokator, and
  2. how the library reduces visual noise thus making the test easier to read
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.0 353 11/26/2024
2.0.0 1,204 10/15/2022 2.0.0 is deprecated because it is no longer maintained.

This libary is currently a work in progress (WIP). As a result, backwards compatibility is not guaranteed.