gpt4 book ai didi

unit-testing - 单元测试和 PostSharp

转载 作者:行者123 更新时间:2023-12-03 22:34:05 25 4
gpt4 key购买 nike

我想知道这样做的最佳方法是什么......我有兴趣将 PostSharp 引入我的一个项目,但我不确定如何正确地对标有属性的类进行单元测试。

例如:

public class hello {

[MyAspectThatDoesSomethingToTheDatabaseWhenThisMethodGetsCalled]
public int omg(string lol) {
//fancy logic in here
}
}

我想测试 omg() 方法中的逻辑,但是在单元测试中,我需要确保不会调用该方面,因为实际上并没有数据库。

想法?

最佳答案

我不完全确定 postsharp 是如何工作的,但据我目前所知,您调用了一个后期构建过程来将方面编织到 IL 中。

如果我的理解是正确的,并且您可以跳过构建后编织,那么您应该在不了解方面的情况下测试您的方法(并在其他地方单独测试方面)。

为什么?

如果您测试方面和方法,您将同时测试 3 件事:

  • 方法
  • 方面
  • 将方面编织到代码中

  • 这是不好的业力,如果出现问题(以及使您的单元测试成为集成测试),可能会导致您陷入困境。

    查看上面的列表:
  • 需要测试方法 ,与其他干扰隔离,因为这将使您专注于确保该方法完全符合您的期望 - 不多也不少。
  • 不要需要每次都测试方面它被使用了,只需测试一次并确保它做你认为它做的事情
  • 不要需要测试编织是否有效 ;它是(应该)作为后期锐化实现的一部分进行测试的。
  • 关于unit-testing - 单元测试和 PostSharp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2240015/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com