测试包中的类在默认包中找不到类。
如果我转移到默认包中的类进行测试,错误就会消失。
我想知道这些错误的原因。
要访问另一个包中的类,您应该导入此包。但是根据 JLS ,您不能使用默认的 unnamed package 来做到这一点。
因为该类位于不同的包中,并且应该通过import
指令对当前类可用。并且因为您要导入的类位于没有名称的默认包中,所以您不能这样做,而是移动到命名包并应用上述内容。
我认为将类放在默认包中是一个坏主意。为您的类创建一个新的明确命名的包并将它们全部移动到那里。如果您使用 Eclipse 的 Refactor->Move 菜单选项,它将为您的类放入所有繁琐的包声明。
然后你的测试可以导入包。