|
|
1
7
根据语言规范,不,没有办法重新创建单例对象。然而,它
可以反射地调用一个单例的构造函数,它覆盖了内部
曾经 做这个。我会非常努力地调整代码,而不是像这样玩鬼鬼祟祟的把戏。然而,如果事情如你所说,你真的没有其他选择,这至少是一些东西。 |
|
|
2
4
ScalaTest有几种方法可以让您在测试之间重新初始化。然而,如果不知道更多,这个问题很难回答。主要的问题是,需要什么来重新初始化singleton对象?如果在没有实例化新的单例对象的情况下无法重新初始化单例对象,那么您需要确保每个测试都重新加载了单例对象,这将需要使用自定义类装入器。不过,我觉得很难相信有人会这样设计。你能用这样的细节更新你的问题吗?我稍后再看一看,看看这些额外的细节是否能让答案更明显。
|
|
|
3
0
没有答案,但我有一个简单的例子,说明您可能需要重置singleton对象,以便在多种潜在情况下测试singleton构造。考虑一些愚蠢的事情,比如下面的代码。您可能需要编写测试来验证在环境设置不正确时是否引发异常,以及编写测试来验证在环境设置不正确时是否未发生异常。我知道,我知道每个人都说,“当环境设置不正确时提供默认值”,但我不想这样做;这将导致问题,因为不会有通知,你正在使用错误的系统。
用法:
|