为什么Xunit Test Case在调试时成功运行,而在.net6和Ravendb 5.3中运行时不运行?
问题是以下测试方法工作完全很好,而调试代码,但在运行时 。
测试方法确定记录的获取是否成功。
[Fact(DisplayName = "Fetch list of Refund Batch by Status")]
public async Task Can_Query_RefundBatch_By_Status()
{
Store.ExecuteIndex(new RefundBatchByStatus());
SetUpRefundBatches();
var refundBatches = await Repo.FindAllByStatusAsync(BatchStatus.New);
refundBatches.Count.ShouldBe(2);
refundBatches[0].RefundRequests.Count.ShouldBe(5);
refundBatches[1].RefundRequests.Count.ShouldBe(5);
}
以下是 setupRefundBatches()
private void SetUpRefundBatches() {
var session = Store.OpenSession();
foreach (var refundBatch in Factory.RefundBatch.CreateRefundBatchesData())
{
session.Store(refundBatch);
}
session.SaveChanges();
}
下面的方法是 findallbystatusasync
public async Task<List<RefundBatch>> FindAllByStatusAsync(params BatchStatus[] status)
{
using var session = Store.OpenAsyncSession();
return await session
.Query<RefundBatch, RefundBatchByStatus>()
.ToAsyncDocumentQuery()
.WhereIn(d => d.Status, status, exact: true)
.ToListAsync();
}
下面的方法是 revundbatchbystatus index类。
public class RefundBatchByStatus : AbstractIndexCreationTask<RefundBatch>
{
public RefundBatchByStatus()
{
Map = docs => from doc in docs select new { doc.Status };
Indexes.Add(x => x.Status, FieldIndexing.Exact);
}
}
请让我知道是否需要更多的东西来支持这个问题。
The issue is that the below test method works perfectly fine while debugging the code but does not work while running it.
Below test method determines whether the fetch of records is successful or not.
[Fact(DisplayName = "Fetch list of Refund Batch by Status")]
public async Task Can_Query_RefundBatch_By_Status()
{
Store.ExecuteIndex(new RefundBatchByStatus());
SetUpRefundBatches();
var refundBatches = await Repo.FindAllByStatusAsync(BatchStatus.New);
refundBatches.Count.ShouldBe(2);
refundBatches[0].RefundRequests.Count.ShouldBe(5);
refundBatches[1].RefundRequests.Count.ShouldBe(5);
}
Below is the SetUpRefundBatches() method
private void SetUpRefundBatches() {
var session = Store.OpenSession();
foreach (var refundBatch in Factory.RefundBatch.CreateRefundBatchesData())
{
session.Store(refundBatch);
}
session.SaveChanges();
}
Below is the FindAllByStatusAsync method
public async Task<List<RefundBatch>> FindAllByStatusAsync(params BatchStatus[] status)
{
using var session = Store.OpenAsyncSession();
return await session
.Query<RefundBatch, RefundBatchByStatus>()
.ToAsyncDocumentQuery()
.WhereIn(d => d.Status, status, exact: true)
.ToListAsync();
}
Below is the RefundBatchByStatus index class.
public class RefundBatchByStatus : AbstractIndexCreationTask<RefundBatch>
{
public RefundBatchByStatus()
{
Map = docs => from doc in docs select new { doc.Status };
Indexes.Add(x => x.Status, FieldIndexing.Exact);
}
}
Please let me know if more stuff is required from my end to support this question.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论