计算通过 JUnit 调用函数的次数
Counting times a function is called via JUnit
我想统计在使用 websockets 时和不使用 websockets 时进行 HTTP GET 的次数。我希望在使用 websockets 时使用一次,否则使用 n 次。我想通过 JUnit 执行此操作,而我恰好也在使用 Spring。有什么创造性的方法可以计算我使用 Jersey 进行 GET 的次数吗?
client.target(.....).get(....)
我不知道如何在不将我的生产代码与测试特定代码混在一起的情况下执行此操作。
如果您添加一个静态变量 COUNT 并在每次调用时递增它 - 它根本不会影响生产。您不仅可以将此变量用于单元测试,甚至可以用于生产监控。
如果您的代码是使用接口定义的,那么我会使用装饰器模式来添加额外的行为。在这种情况下,额外的行为将跟踪调用次数。
如果您的具体 class 是通过 Spring 配置的,则此方法很容易配置。然后在 JUnit 测试的 Spring 资源中,修改它以注入 Decorated class。对现有生产代码没有影响。
我想统计在使用 websockets 时和不使用 websockets 时进行 HTTP GET 的次数。我希望在使用 websockets 时使用一次,否则使用 n 次。我想通过 JUnit 执行此操作,而我恰好也在使用 Spring。有什么创造性的方法可以计算我使用 Jersey 进行 GET 的次数吗?
client.target(.....).get(....)
我不知道如何在不将我的生产代码与测试特定代码混在一起的情况下执行此操作。
如果您添加一个静态变量 COUNT 并在每次调用时递增它 - 它根本不会影响生产。您不仅可以将此变量用于单元测试,甚至可以用于生产监控。
如果您的代码是使用接口定义的,那么我会使用装饰器模式来添加额外的行为。在这种情况下,额外的行为将跟踪调用次数。
如果您的具体 class 是通过 Spring 配置的,则此方法很容易配置。然后在 JUnit 测试的 Spring 资源中,修改它以注入 Decorated class。对现有生产代码没有影响。