Is there any framework for .NET to populate test data? [closed]

坚强是说给别人听的谎言 提交于 2019-12-03 02:16:20

问题


I am use c# and for unit testing and integration testing usually I need to populate fields automatically based on attributes.

Lets say we will test if we can write and get back user data to database.

  • I create a user object populate fields write user to database
  • Read user object from database
  • Check fields if what I write is same as what I read

Is there any framework to populate user with test data automatically and check if two object are have the same values?

Sample code may like this

User user = new User();
AutoPopulator.Populate(user);
user.Save();

回答1:


Take a look at NBuilder. It lets you build test objects with random data, incrementing values, and anything you can probably think of. All through a nice fluent interface.




回答2:


You might find it relevant. Here is a list of few other frameworks as of today:

Well-known and respected:

  • NBuilder
  • AutoFixture
  • AutoPoco
  • Bogus - C# port of faker.js with locale support. Used by Elasticsearch (NEST).

Little-known:

  • Hydrator
  • Fabricator

Unfamiliar:

  • TestDataGenerator
  • TestDataFactory (Discontinued)
  • TestData
  • Any-.Net



回答3:


Yes there is. I found this when watching session #3 of the Summer of NHibernate series by Stephen Bohlen.

His company, Microdesk, has developed a utility that will allow you to save the state of a database on test fixture construction, set the state of the database at the start of every test, and recover the original state of the database on test fixture deconstruction.

Download the utility here: Microdesk.Utility.UnitTest

For a tutorial on how to use it, watch the Summer of NHibernate session #3 video.




回答4:


Fluent NHibernate has a feature which gives you everything on your wish-list, except the auto-population part:

Link: http://wiki.fluentnhibernate.org/Persistence_specification_testing

However, given C# with code contracts, it wouldn't be to hard to auto-magically create valid objects yourself using reflection.



来源:https://stackoverflow.com/questions/1610212/is-there-any-framework-for-net-to-populate-test-data

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!