gpt4 book ai didi

c# - 在 VS 中运行单元测试与调试单元测试时,我应该期待什么区别?

转载 作者:行者123 更新时间:2023-12-04 13:51:29 25 4
gpt4 key购买 nike

背景
我有一个 ViewModel,我想使用 Visual Studio 的内置测试框架对其进行单元测试。

public async Task RefreshEntries(string rootID)
{
_isCurrentlyFetchingEntries = true;
if (_entriesCollectionSource == null)
_entriesCollectionSource = new ObservableCollection<ExplorerDisplayEntryDTO>();
_entriesCollectionSource.Clear();
Entries = CollectionViewSource.GetDefaultView(_entriesCollectionSource);
var entries = await Task.Run(() =>
{
var toReturn = (...) // Fetch plenty of things in my repo
return toReturn;
});

foreach (var entry in entries)
{
_entriesCollectionSource.Add(entry);
}
Entries.Filter = _customizedFilter;
_isCurrentlyFetchingEntries = false;
}
我写了一个单元测试,它将间接 await这个特定的任务(通过围绕 ViewModel 的多次调用)。
正在运行 单元测试,(CTRL+R,T)它毫无问题地通过。
调试 单元测试,在上面代码片段的第 16 行抛出异常
正在运行 程序通常(在调试和 Release模式下),该方法不会触发任何错误。

System.NotSupportedException This type of CollectionView does not support changes to its SourceCollection from a thread different from the Dispatcher thread


我查看了并行堆栈窗口,似乎在正常运行时(我怀疑,在运行单元测试时),该行由主线程执行。而它似乎在调试测试时由其他线程执行。

时,我应该期待什么样的行为改变正在运行 单元测试 vs 调试 单元测试?

最佳答案

听起来很简单,VS 中的单元测试和调试单元测试之间的主要区别在于:在代码级别找到确切的根本原因,以修复在测试过程中发现的错误和错误

关于c# - 在 VS 中运行单元测试与调试单元测试时,我应该期待什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69036641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com