This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
{
"cells": [
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"运行 xUnit 单元测试\n",
"====================="
]
},
"## 1、引入必要的NuGet包到.NET Interactive环境中"
"cell_type": "code",
"execution_count": 3,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
"polyglot_notebook": {
"kernelName": "csharp"
}
"outputs": [
"data": {
"text/html": [
"<div><div><strong>Restore sources</strong><ul><li><span>https://api.nuget.org/v3/index.json</span></li></ul></div><div></div><div><strong>Installed Packages</strong><ul><li><span>xunit, 2.9.3</span></li><li><span>xunit.runner.visualstudio, 3.0.2</span></li></ul></div></div>"
"output_type": "display_data"
],
"// 默认包源\n",
"#i \"nuget:https://api.nuget.org/v3/index.json\"\n",
"\n",
"//Nuget 包引用\n",
"#r \"nuget:xunit\"\n",
"#r \"nuget:xunit.runner.visualstudio\"\n",
"#r \"nuget:xunit.runner.console\""
"## 2、定义测试类和测试方法"
"execution_count": 9,
"outputs": [],
"using Xunit;\n",
"public class CalculatorTests\n",
"{\n",
" [Fact]\n",
" public void Add_ReturnsCorrectSum()\n",
" {\n",
" var calculator = new Calculator();\n",
" var result = calculator.Add(2, 2);\n",
" Assert.Equal(4, result);\n",
" }\n",
" public void Subtract_ReturnsCorrectDifference()\n",
" var result = calculator.Subtract(5, 3);\n",
" Assert.Equal(2, result);\n",
"}\n",
"public class Calculator\n",
" public int Add(int x, int y) => x + y;\n",
" public int Subtract(int x, int y) => x - y;\n",
"}\n"
"## 3、执行测试并获取结果。在.NET Interactive中,直接运行xUnit测试并不像在Visual Studio或通过命令行那样直接。你需要手动实例化测试类并调用测试方法,或者使用反射来自动发现和执行测试方法。以下是一个简化的例子,展示如何手动执行测试方法并输出结果。"
"execution_count": 10,
"name": "stdout",
"output_type": "stream",
"text": [
"Tests executed successfully.\r\n"
"// 手动执行测试方法\n",
"var calculatorTests = new CalculatorTests();\n",
"// 执行Add_ReturnsCorrectSum测试\n",
"calculatorTests.Add_ReturnsCorrectSum();\n",
"// 执行Subtract_ReturnsCorrectDifference测试\n",
"calculatorTests.Subtract_ReturnsCorrectDifference();\n",
"Console.WriteLine(\"Tests executed successfully.\");\n"
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
"language_info": {
"name": "polyglot-notebook"
"orig_nbformat": 4,
"kernelInfo": {
"defaultKernelName": "csharp",
"items": [
"aliases": [],
"name": "csharp"
"name": "razor"
"nbformat": 4,
"nbformat_minor": 2