【发布时间】:2021-05-24 16:06:53
【问题描述】:
我是 XUnit 的新手,我需要为生成数据流(byte[] 数组)并将其设置为变量的方法编写单元测试。我需要验证该变量是否有数据(字节)
下面是方法
public class SMTPEmailSender : IEmailSender
{
private IPDFCreater _pdfCreater;
private ILogger _log;
public SMTPEmailSender(IPDFCreater pdfCreater, ILogger log)
{
_pdfCreater = pdfCreater;
_log = log;
}
public Email BuildEmail(string smptpurl, MailDTO mailRequest)
{
Email email = null;
try
{
_
var otp = new PDFData { OTP = mailRequest.OTP, FaxNumber = mailRequest.FaxNumber, FullName = mailRequest.FullName };
email = new Email
{
SMTPServerUrl = smptpurl,
.
.
FromAddressDisplayName = mailRequest.FromAddressDisplayName,
ContentStream = new MemoryStream(_pdfCreater.GeneratePDF(otp)),// This line calls a method and return byte array (byte[])
AttachmentName = mailRequest.FaxFileName
};
}
catch (Exception ex)
{
}
return email;
}
}
我已经写了单元测试,但我很困惑如何断言变量 ContentStream 是否有数据
[Theory]
[MemberData(nameof(GetFaxAsMailDTO))]
public void BuildEmailInfo_ReturnsEmailObject(MailDTO faxMailDTO)
{
string SmptpUrl = "testurl";
var result = _smtpEmailSender.BuildEmailI(SmptpUrl, mailDTO);
// here I want to check the result.ContentStream have bytes of data or not
}
【问题讨论】: