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

152 lines
3.4 KiB
Plaintext

{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"运行 xUnit 单元测试\n",
"====================="
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1、引入必要的NuGet包到.NET Interactive环境中"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"// 默认包源\n",
"#i \"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\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2、定义测试类和测试方法"
]
},
{
"cell_type": "code",
"execution_count": null,
"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",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"// 手动执行测试方法\n",
"var calculatorTests = new CalculatorTests();\n",
"\n",
"// 执行Add_ReturnsCorrectSum测试\n",
"calculatorTests.Add_ReturnsCorrectSum();\n",
"\n",
"// 执行Subtract_ReturnsCorrectDifference测试\n",
"calculatorTests.Subtract_ReturnsCorrectDifference();\n",
"\n",
"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
}