是否跨多个测试方法共享Fixture实例是一个好习惯?
或者为每种测试方法创建一个新的Fixture实例更好吗?@H_403_3@
什么是最佳做法?如果你能为我提供一个反模式的来源,那将是一件好事.@H_403_3@
解决方法
AutoFixture的名称来自
Fixture模式:
“a test fixture is all the things we need to have in place in order to run a test and expect a particular outcome. […] Setting up the test fixture is the first phase of the 07001.”@H_403_3@
虽然Shared Fixture是一种概念上的可能性,但它有许多缺点,因为它使得测试更加难以相互独立.@H_403_3@
AutoFixture被明确设计为提供可重用的库来创建Fixtures,而不必为您需要创建的每种新类型的测试上下文手动编码Fixture Objects.@H_403_3@
有人创建了一个(AutoFixture)Fixture对象并在多个测试方法中共享它,但我从来不明白他们为什么这样做;它几乎击败了AutoFixture的目的.@H_403_3@
尽管如此,如果您发现这样的设置有用,我可以告诉您谁停止这样做?无论什么漂浮你的船……但是,AutoFixture的设计考虑了每个测试方法的一个Fixture实例的明确用例,而我没有看到以其他方式做任何优势.@H_403_3@