xunit 相关问题

xUnit是遵循特定体系结构的符合单元测试的框架的集合名称。实现因语言而异,但框架应包括测试运行器,测试用例,测试夹具(上下文),测试套件,测试执行,测试结果格式化程序和断言

PnP.Core - IFolderCollection 模拟失败

我需要模拟一个共享点文档库,返回 6 个文件的列表。这是我用来创建模拟系统的逻辑。 公共类 SharePointDocLibraryUtilsTestFactory { 私人模拟...

回答 1 投票 0

xUnit 测试由于测试发现期间出现异常而无法运行

我在 Visual Studio 中创建了一个新的 xUnit 测试项目,并添加了几个简单的测试。但是当我尝试运行其中任何一个时,它们都不会运行,因为根据测试输出,发现已中止......

回答 2 投票 0

读取 ASP.NET Core 测试项目中的 appsetting-test.json 文件

我有一个使用 ASP.NET Core 的测试项目并尝试读取应用程序设置值。 使用以下配置在测试项目中创建了 appsetting.test.json 文件 { “baseUrl”:“...

回答 3 投票 0

如何模拟配置文件

我需要测试一个使用 CSVHelper 的函数 { 私有只读 CsvConfiguration _csvConfig; 公共 CsvWriterService(CsvConfiguration csvConfig) { _csvConfig = csvConfig...

回答 1 投票 0

Blazor 的模拟 ProtectedSessionStorage

有没有办法在 Blazor 服务器端项目中模拟 ProtectedSessionStorage? 我尝试了下面的代码,但收到错误:“要模拟的类型(ProtectedSessionStorage)必须是一个接口、一个删除...

回答 2 投票 0

xUnit - 将 WebApplicationFactory 与 CollectionFixture 结合使用进行 .Net Core 集成测试

我已经使用 xUnit、共享类夹具和依赖项注入为我的 .Net Core API 实现了集成测试,因此我可以使用 WebApplicationFactory。 公共类DatabaseFixture:

回答 1 投票 0

当我模拟 IHttpClientFactory 并创建 HttpClient 时,HttpClient 为 null

我想对一个工厂进行单元测试,在其中注入 IHttpClientFactory,并且该工厂创建一个使用 HttpClient 的类。 这是代码: 公共类 ClientFactory :IClientFactory {

回答 1 投票 0

无法模拟CloudStorageAccount.CreateCloudBlobClient()

我有一个返回 BlobResultSegment 的方法。我必须为该方法编写单元测试用例。任何人都可以建议任何方式来模拟 CloudStorageAccount.CreateCloudBlobClient() 私有异步...

回答 1 投票 0

从封面的覆盖率报告中排除 AspNetCoreGenerateDocument 类

我在 Views 文件夹中每个视图的代码覆盖率结果中出现了此类 AspNetCoreGenerateDocument.Views_Users__AddOrUpdateUser , 示例: AspNetCore生成文档。

回答 2 投票 0

在 .net8 中运行 xunit 测试时遇到问题

我目前正在将一个大型应用程序从 .net 4.8 框架更新到 .net 8。我遇到了很多错误,但到目前为止我已经能够通过一些研究解决大多数错误。这个问题一直困扰着我...

回答 1 投票 0

使用 xUnit 进行单元测试异常消息

我目前正在将我的 MsTest 单元测试转换为 xUnit。使用xUnit,有没有办法测试异常消息?测试异常消息而不是仅测试异常类型是否正确?

回答 8 投票 0

LINQ 查询修改委托的模拟对象

有这样一个从数据库获取一些数据的方法: 公共异步任务 GetByFilter(Func, IQueryable>? queryModifier, CancellationToken

回答 1 投票 0

如何将 Boost.Test 输出记录到 HRF 中的标准输出和 XML 中的文件?

我想启用将 Boost.Test 输出记录到 stdout/sterr 和日志文件中。 但是,我也希望标准输出日志记录采用 HumanReadableFormat 格式,并且仅输出文件...

回答 2 投票 0

在xunit中实例化IOptions<>

我正在尝试为一个类(在 .net Core 项目中)编写一个 xunit 测试,如下所示: 公共类FoodStore:IFoodStore { FoodList 食品项目; 公共食品商店(IOptions 我正在尝试为一个类(在 .net Core 项目中)编写一个 xunit 测试,如下所示: public Class FoodStore:IFoodStore { FoodList foodItems; public FoodStore(IOptions<FoodList> foodItems) { this.foodItems = foodItems; } public bool IsFoodItemPresentInList(string foodItemId) { //Logic to search from Food List } }` 注意:FoodList实际上是一个json文件,包含数据,在Startup类中加载和配置。 如何编写具有适当依赖注入的 xunit 测试来测试 IsFoodItemPresentInList 方法? 您可以使用 IOptions<FoodList> 方法创建 Options.Create 的实例: var foodListOptions = Options.Create(new FoodList()); 您可以使用 OptionsWrapper<T> 类来伪造您的配置。然后您可以将此对象传递给您要测试的类。这样你就不必使用 DI 或读取真实配置。 类似这样的: var myConfiguration = new OptionsWrapper<MyConfiguration>(new MyConfiguration { SomeConfig = "SomeValue" }); var yourClass = new YourClass(myConfiguration); 我遇到了类似的问题(使用xUnit),经过一番努力,我解决了。 答案这么晚了,但应该对其他人有帮助。 对于你的问题: public Class FoodStoreTest { private readonly IConfigurationRoot _configuration; private readonly IServiceProvider _serviceProvider; public FoodStoreTest(){ // read Json var configBuilder = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables(); _configuration = configBuilder.Build(); // SetUp DI var services = new ServiceCollection(); services.AddOptions(); // this statement is required if you wanna use IOption Pattern. services.Configure<YuntongxunOptions>(_configuration.GetSection("yuntongxun")); _serviceProvider = services.BuildServiceProvider(); } [Fact] public void GetFootItemOption() { IOption<FoodList> optionAccessor = _serviceProvider.GetService<IOptions<FoodList>>(); FoodList footListOptions = optionAccessor.value; Assert.NotNull(footListOptions) // ... } } 此外,您应该将“appSettings.json”复制到项目根文件夹。 在单元测试中,您通常不使用依赖注入,因为是您控制测试对象的创建。 要提供实现 IOptions<FoodList> 的合适对象,您可以自己实现具有所需行为的伪类,或者使用一些模拟框架动态配置实例,例如 Moq。 正如其他答案所建议的,在您的测试类中,您可以创建一个仅用于测试的选项实例。 你可以这样做; public class FakeFoodList : IOptions<FoodList> { public FoodList Value { get { return new FoodList(); // TODO: Add your settings for test here. } } } 然后这样称呼它; var foodOptions = new FakeFoodList(); var foodStore = new FoodStore(foodOptions); var response = foodStore.Act(); Assert.Equal("whatever", response); 您可以执行以下操作: private Mock<IOptions<SomeSettings>> _someSettings; 并且在测试方法中: `_someSettings = 新模拟(); _someSettings.Setup(o => o.Value).Returns(new SomeSettings { ClientId = "723jsisksokskskos", ClientSecret = "sjhs;~jspkasjd;asdj;asdpqwoepqwe", ConnectionStrings = new List<ConnectionStrings> { new ConnectionStrings { Acronym = "A1" }, new ConnectionStrings { Acronym = "A2" } } }); ` 模型结构: `公共类 SomeSettings : ISomeSettings { public const string ConfigurationName = nameof(SomeSettings); public string ClientId { get; set; } public string ClientSecret { get; set; } public string QueryCount { get; set; } public List<ConnectionStrings> ConnectionStrings { get; set; } }`

回答 6 投票 0

Xunit 测试结果附件不显示

我们使用 C# selenium 和 Xunit(2.7.0) 进行自动化。我们有一个 Visual Studio 测试任务,可以通过测试选择触发“测试运行”。目前我们正在关注此附件 - 创建

回答 1 投票 0

xUnit.net 反序列化期间发生灾难性错误

我正在测试 Orleans 8 应用程序,并且在 Visual Studio 2022 Enterprise 的“分析所有测试的代码覆盖率”方面遇到问题。 尽管测试工作正常

回答 1 投票 0

System.IO.Abstraction.TestingHelpers - 在不同平台上进行测试

我正在编写一个单元测试来检查对文件进行操作的一些方法。我在库端使用了 System.IO.Abstraction,在 UnitTests 端使用了 System.IO.Abstraction.UnitTesting。 我正在使用 Mac...

回答 2 投票 0

在 C# 和 xUnit 中同时运行多个单元测试项目

我想将一个大型单元测试项目拆分为多个较小的项目,以便开发人员只能构建和运行与他们在本地工作时正在做的事情相关的单元测试。 问题是...

回答 1 投票 0

无法实例化类的代理

为了测试控制器项目,我创建了一个 xUnit 类型的项目,并编写了一个函数并在函数之上设置了一个 Fact 属性 [事实] 公共无效GetAllTest() { ...

回答 1 投票 0

C# EF - 如何对内存中的 SQLite 文件进行单元测试?

在我的单元测试中,我当前正在制作 SQLite 文件的临时副本,运行我正在测试的方法,然后删除该文件。 我遇到的问题是,当我有多个单元时......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.