3

Can anyone inform whether there is any good framework in c# that will generate dummy objects and lists so that we don't need to generate the stub data manually?

oers
  • 18,436
  • 13
  • 66
  • 75
maeenul
  • 91
  • 2
  • 5

5 Answers5

6

You can try NBuilder. It's purpose is rapid generation of test objects.

If you have Employee class:

public class Employee
{
    public string Name { get; set; }
    public DateTime Birthday { get; set; }
} 

Generating list of 10 Employee object is simple like this:

var employees = Builder<Employee>.CreateListOfSize(10).Build();

It will generate unique incremental values for all fields of object:

Name1 7/12/2012
Name2 7/13/2012
Name3 7/14/2012
...

Also NBuilder has nice powerful fluent interface, which allows to setup custom values for any generated object:

var employees = Builder<Employee>.CreateListOfSize(10)
    .TheFirst(1).With(e => e.Name = "Sergey")
    .All().With(e => e.Address = Builder<Address>.CreateNew().Build())
    .Build();

Also you can take a look at:

Sergey Berezovskiy
  • 232,247
  • 41
  • 429
  • 459
1

The framework I like to use and does what you ask is the following: Rhino Mocks

This is for C#, and its superior.

Harry
  • 1,686
  • 2
  • 15
  • 21
0

The framework I like to use and does what you ask is the following: Unitils

but then again, I don't know for which programming language you are asking ? The one proposed is for Java.

Silmarillium
  • 149
  • 8
0

If you need to create fake implementations of interfaces or abstract classes then there's a bunch of "mocking frameworks" available. One of them is Rhimo Mocks mentioned by Harry. For you as a beginner in this area I'd also suggest Moq as it's more straightforward compared to Rhino Mocks (IMHO).

Ivan Gerken
  • 914
  • 1
  • 9
  • 21
0

Everyone likes realistic fake data, use Bogus library.

var faker = new Faker("en");

var emailList = Enumerable.Range(1, 5)
      .Select(_ => faker.Internet.Email())
      .ToList();

//OUTPUT:
Gustave83@hotmail.com    
Evie33@gmail.com 
Abby_Wilkinson@yahoo.com 
Cecilia.Hahn@yahoo.com   
Jasen.Waelchi85@gmail.com
Ayub
  • 2,345
  • 27
  • 29