gpt4 book ai didi

unit-testing - 这个单元测试中有太多的断言吗?

转载 作者:行者123 更新时间:2023-12-04 09:37:51 24 4
gpt4 key购买 nike

这个单元测试中是否有太多断言?

[Fact]
public void Send_sends_an_email_message() {
using (var server = new MockSmtpServer()) {
server.Start();
using (var client = new EmailClient("localhost")) {
string from = "john.doe@example.com";
IEnumerable<string> to = new[] { "jane.doe@example.com" };
string subject = "Test";
string body = "Test.";
client.Send(from, to, subject, body);
var session = server.Sessions.FirstOrDefault();
Assert.NotNull(session);
var message = session.Messages.FirstOrDefault();
Assert.NotNull(message);
Assert.NotNull(message.From);
Assert.Equal(message.From.Address, "john.doe@example.com");
Assert.NotNull(message.To);
var recipient = message.To.FirstOrDefault();
Assert.NotNull(recipient);
Assert.Equal(recipient.Address, "jane.doe@example.com");
Assert.Equal(message.Subject, "Test");
Assert.Equal(message.Body, "Test.");
}
}
}

我认为这段代码不需要任何解释,但如果需要,请告诉我。

最佳答案

我尽量保持我的 UnitTests 相当小,一次只测试一件事。所以我可能会将不同的部分测试成单独的测试,例如

  • sendWillSendAnEmail ,
  • fromContainsSenderAddress ,
  • toContainsRecipientAddress ,
  • mailBodyContainsMailMessage ,
  • mailContainsSubject
  • 关于unit-testing - 这个单元测试中有太多的断言吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4188466/

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