У меня есть настраиваемый автозапуск для интеграционного теста. Код ниже.
Вопрос 1 - В настоящее время первая транзакция имеет TransactionViewKey.TransactionId из 1 и т.д. Как установить TransactionViewKey TransactionId, чтобы он был выровнен из метода param beginTransactionId? например, возвращая массив TransactionView, где первый TransactionId равен 200, а затем каждый увеличивается на 1?
Вопрос 2 - лямбда для определения transactiondate, кажется, выполняется только один раз - и поэтому каждая дата имеет одно и то же значение. Как настроить построитель, чтобы он запускал генератор случайных дат для каждого сгенерированного экземпляра, а не только один раз?
спасибо
static TransactionView[] CreateTransactions(int transactionsToReturnCount, long beginningTransactionId) {
Random random = new Random();
IFixture fixture = new Fixture();
fixture.Customize<TransactionViewKey>(ob => ob
.With(t => t.TransactionId)
.With(t => t.TransactionIdSpecified, true)
.OmitAutoProperties()
);
fixture.Customize<TransactionView>(ob => ob
.With(t => t.TransactionDate, DateTime.Now - new TimeSpan(random.Next(30),0,0,0))
.With(t => t.PostDate, DateTime.Now - new TimeSpan(random.Next(30), 0, 0, 0))
.With(t => t.ViewKey)
.With(t => t.Amount)
.OmitAutoProperties()
);
IEnumerable<TransactionView> transactionViews = fixture.CreateMany<TransactionView>(transactionsToReturnCount);
return transactionViews.OrderBy(t => t.TransactionDate).ToArray();
}