You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PolyglotNotebooksStudy/Docs/多语言笔记.7.1.运行xUnit单元测试.ipynb

170 lines
3.9 KiB
Plaintext

{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"运行 xUnit 单元测试\n",
"====================="
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
12 months ago
"## 1、引入必要的NuGet包到.NET Interactive环境中"
]
},
{
"cell_type": "code",
2 days ago
"execution_count": 3,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
2 days ago
"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>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"// 默认包源\n",
2 days ago
"#i \"nuget:https://api.nuget.org/v3/index.json\"\n",
"\n",
"//Nuget 包引用\n",
12 months ago
"#r \"nuget:xunit\"\n",
"#r \"nuget:xunit.runner.visualstudio\"\n",
"#r \"nuget:xunit.runner.console\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2、定义测试类和测试方法"
]
},
{
"cell_type": "code",
2 days ago
"execution_count": 9,
12 months ago
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"using Xunit;\n",
"\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",
"\n",
" [Fact]\n",
" public void Subtract_ReturnsCorrectDifference()\n",
" {\n",
" var calculator = new Calculator();\n",
" var result = calculator.Subtract(5, 3);\n",
" Assert.Equal(2, result);\n",
" }\n",
"}\n",
"\n",
"public class Calculator\n",
"{\n",
" public int Add(int x, int y) => x + y;\n",
" public int Subtract(int x, int y) => x - y;\n",
"}\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3、执行测试并获取结果。在.NET Interactive中直接运行xUnit测试并不像在Visual Studio或通过命令行那样直接。你需要手动实例化测试类并调用测试方法或者使用反射来自动发现和执行测试方法。以下是一个简化的例子展示如何手动执行测试方法并输出结果。"
]
},
{
"cell_type": "code",
2 days ago
"execution_count": 10,
12 months ago
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
2 days ago
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tests executed successfully.\r\n"
]
}
],
12 months ago
"source": [
"// 手动执行测试方法\n",
"var calculatorTests = new CalculatorTests();\n",
"\n",
"// 执行Add_ReturnsCorrectSum测试\n",
"calculatorTests.Add_ReturnsCorrectSum();\n",
"\n",
"// 执行Subtract_ReturnsCorrectDifference测试\n",
"calculatorTests.Subtract_ReturnsCorrectDifference();\n",
"\n",
12 months ago
"Console.WriteLine(\"Tests executed successfully.\");\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
},
"language_info": {
"name": "polyglot-notebook"
},
"orig_nbformat": 4,
"polyglot_notebook": {
"kernelInfo": {
"defaultKernelName": "csharp",
"items": [
{
"aliases": [],
"name": "csharp"
},
{
"aliases": [],
"name": "razor"
}
]
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}