#range #faker #bogus
Вопрос:
У меня есть следующие занятия:
Class Person
Property ID As String = Nothing
Property Firstname As String = ""
Property Lastname As String = ""
End Class
Class Account
Property AccountNumber As String = ""
Property Owners As New List(Of Person)
End Class
Я хочу, чтобы вы использовали https://github.com/nickdodd79/AutoBogus чтобы установить диапазон значений от 1000 до 10000 для человека.Идентификатор, когда я создаю экземпляр класса учетной записи, например, так:
Dim fk = AutoFaker.Create()
Dim acct = fk.Generate(Of Account)
Пожалуйста, как я могу это сделать с помощью AutoBogus?
Ответ №1:
Первоначальная конструкция AutoBogus заключалась в создании графиков небольших объектов для модульных тестов. Создание требуемых чисел может повлиять на производительность. Однако, если вышесказанное-это то, что вы пытаетесь создать, и ничего более сложного, то оно может быть достаточно небольшим, чтобы добиться успеха.
Чтобы использовать AutoBogus из коробки, вы можете сделать следующее:
Dim acct = AutoFaker.Generate(Of Account, 1000)
Вторым параметром должно быть количество учетных записей, которые вы хотите создать.
AutoBogus использует фиктивные данные под капотом, а затем использует отражение для заполнения неустановленных свойств. Если вы видите какие-либо проблемы с производительностью, вы можете использовать фиктивную версию напрямую с оговоркой, что вам нужно определить a RuleFor
для каждого свойства. Поддельные документы содержат подробные сведения о том, как этого добиться.
Ник.
Комментарии:
1. Спасибо тебе за твои комментарии, Ник. Ваш ответ неверно истолковал мой вопрос. Я хотел убедиться, что ценности для Человека. Идентификаторы устанавливаются в диапазоне значений от 1000 до 10000, когда выполняется следующее: « Dim fk = автопроизводитель. Создать() Dim acct = fk.Создать(Учетной Записи) « Я отправлю вопрос на поддельную страницу GitHub, но я также был бы признателен, если бы вы все еще могли дать ответ с моими разъяснениями. Ваше здоровье.
Ответ №2:
Решение изменено по сравнению с ответом, предоставленным фиктивным автором bchavez по адресу https://github.com/bchavez/Bogus/issues/394.
Sub Main
Dim personFaker = New AutoFaker(Of Person)
personFaker.RuleFor(Function(p) p.Firstname, Function(f) f.Name.FirstName)
.RuleFor(Function(p) p.Lastname, Function(f) f.Name.LastName)
.RuleFor(Function(p) p.ID, Function(f) f.Random.Int(1000,10000).ToString)
Dim accountFaker = New AutoFaker(Of Account)
accountFaker.RuleFor(Function(a) a.AccountNumber, Function(f) f.Random.Replace("###############"))
.RuleFor(Function(a) a.Owners, Function(f) New List(Of Person)(personFaker.GenerateBetween(1,5)))
accountFaker.Generate().Dump()
End Sub
Class Person
Property ID As String = Nothing
Property Firstname As String = ""
Property Lastname As String = ""
End Class
Class Account
Property AccountNumber As String = ""
Property Owners As New List(Of Person)
End Class
Комментарии:
1. Хотя эта ссылка может дать ответ на вопрос, лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответы только по ссылкам могут стать недействительными, если страница, на которую дана ссылка, изменится.