NUnit
<PackageReference Include="Tracera.NUnit" Version="*" />
.NET ≥ 8 और NUnit ≥ 4 आवश्यक (ऑटोटेस्ट एडेप्टर देखें)। Tracera.NUnit NuGet पर।
एनवायरनमेंट, रन मोड और रीट्राई: ऑटोटेस्ट एडेप्टर।
रीट्राई Env कुंजी: NUNIT_RETRY।
असेंबली एट्रिब्यूट बेहतर है ताकि सूट खत्म होने पर एडेप्टर अपने बनाए रन को समाप्त कर सके। केवल टेस्ट क्लास पर एट्रिब्यूट रखने से भी परिणाम अपलोड होते हैं, लेकिन रन समाप्त होना तब प्रोसेस निकलने तक रुक सकता है:
[assembly: TraceraNUnit]
[TraceraNUnit] // optional on a test class when the assembly attribute is present
public class LoginTests
{
// …
}
testCaseId और autotestName बाँधना
मानक NUnit API हमेशा की तरह उपयोग करें, और ग्लोबल प्रकार Tracera।
घोषणा पर (पसंदीदा — टेस्ट जल्दी skip हो जाए तो भी बाइंड चलता है):
using NUnit.Framework;
[assembly: TraceraNUnit]
public class LoginTests
{
[Test]
[Tracera.Id(42, name: "e2e/login")]
public void Login()
{
Assert.That(true);
}
}
टेस्ट के अंदर:
[Test]
public void Login()
{
Tracera.TestCase(42, "e2e/login");
Assert.That(true);
}
Skip
स्टॉक NUnit skip उपयोग करें (Assert.Ignore, Assert.Inconclusive, [Ignore], …)। Skip reason परिणाम में comment के रूप में जोड़ी जाती है।
स्टेप्स
Tracera.Step("…", () => { … }), Tracera.Step("…", async () => { … }) (async लैम्ब्डा का इंतज़ार होता है), या मेथड पर [Tracera.Step("…")] (sync और async Task)। [Tracera.Step] का शीर्षक खाली या छोड़ा हो तो स्टेप शीर्षक मेथड नाम बनता है; शीर्षक में {0} / {name} मेथड आर्गुमेंट से भरते हैं। [SetUp] / [TearDown] के अंदर के स्टेप परिणाम के सेटअप / टीयरडाउन में जाते हैं; टेस्ट बॉडी के स्टेप टेस्ट में। [OneTimeSetUp] / [OneTimeTearDown] स्टेप रिपोर्ट नहीं होते; यदि OneTimeSetUp फ़ेल हो, घोषणात्मक रूप से बाउंड टेस्ट फिर भी Failed रिपोर्ट होते हैं (खाली स्टेप, परिणाम पर setup त्रुटि)।
using NUnit.Framework;
[assembly: TraceraNUnit]
public class CheckoutTests
{
[SetUp]
public void OpenShop()
{
Tracera.Step("open shop", () => { });
}
[Tracera.Step("add {sku}")]
public void AddSku(string sku) { }
[Test]
[Tracera.Id(10, name: "e2e/checkout")]
public void Checkout()
{
AddSku("SKU-1");
Tracera.Step("pay", () => { });
}
}
कमेंट, एरर और अटैचमेंट
कमेंट, एरर और अटैचमेंट: ऑटोटेस्ट एडेप्टर।
Tracera.Comment("result-level note");
Tracera.Error("result-level error text");
Tracera.Step("open login", () =>
{
Tracera.Comment("landed on login");
});
पैरामीटराइज़्ड टेस्ट
हर [TestCase] / [TestCaseSource] मेथड पर [Tracera.Id] रखें (हर पंक्ति के लिए वही id, या id बदलने पर अंदर Tracera.TestCase)। वैकल्पिक name में प्लेसहोल्डर हो सकते हैं: मेथड पैरामीटर से {login} (और अन्य नाम), या {param_id} — NUnit टेस्ट नाम (नीचे उदाहरण में Login("ok") / Login("sso"))। यदि name न लिखा हो, तो autotestName NUnit टेस्ट नाम का मान लेता है।
[Tracera.Id(42, name: "login as {login}")]
[TestCase("ok")]
[TestCase("sso")]
public void Login(string login)
{
Assert.That(login, Is.Not.Empty);
}