草庐IT

private-inheritance

全部标签

java - 如何模拟使用 PowerMock 进行测试的私有(private)方法?

我有一个类,我想用一个调用私有(private)方法的公共(public)方法对其进行测试。我想假设私有(private)方法可以正常工作。例如,我想要doReturn....when...之类的东西。我发现有possiblesolutionusingPowerMock,但是这个解决方案对我不起作用。怎么做?有人遇到过这个问题吗? 最佳答案 我认为这里没有问题。通过使用MockitoAPI的以下代码,我设法做到了:publicclassCodeWithPrivateMethod{publicvoidmeaningfulPublicA

java - JUnit 测试私有(private)变量?

这个问题在这里已经有了答案:HowdoItestaclassthathasprivatemethods,fieldsorinnerclasses?(58个回答)关闭8年前。我被分配了对一个我从未直接使用JUnit进行过的类进行单元测试的任务,并且严禁更改包中的代码。这通常没有问题,因为我们的大多数单元测试只是为了功能和输入/输出的一致性,这可以通过运行例程并检查它们的返回值来完成。但是,偶尔需要检查类中的私有(private)变量,或者直接编辑私有(private)变量来检查一些内部行为。有没有办法访问这些,无论是通过JUnit还是任何其他方式,以进行单元测试,而无需实际更改原始源包中

java - JUnit 测试私有(private)变量?

这个问题在这里已经有了答案:HowdoItestaclassthathasprivatemethods,fieldsorinnerclasses?(58个回答)关闭8年前。我被分配了对一个我从未直接使用JUnit进行过的类进行单元测试的任务,并且严禁更改包中的代码。这通常没有问题,因为我们的大多数单元测试只是为了功能和输入/输出的一致性,这可以通过运行例程并检查它们的返回值来完成。但是,偶尔需要检查类中的私有(private)变量,或者直接编辑私有(private)变量来检查一些内部行为。有没有办法访问这些,无论是通过JUnit还是任何其他方式,以进行单元测试,而无需实际更改原始源包中

java - 如何在 IntelliJ 中禁用 "Access can be package-private"消息?

在开发API时,Java类中的警告消息“Accesscanbepackage-package”真的很烦人。我已经花了一些时间检查设置以找到禁用此消息的方法,但没有任何发现。知道如何禁用该消息吗? 最佳答案 转到Settings→Editor→Inspections然后Java→Declarationredundancy→Declarationaccesscanbeweaker规则。在这里,您可以完全禁用它,也可以在右侧Pane中选择建议选项: 关于java-如何在IntelliJ中禁用"

java - 如何在 IntelliJ 中禁用 "Access can be package-private"消息?

在开发API时,Java类中的警告消息“Accesscanbepackage-package”真的很烦人。我已经花了一些时间检查设置以找到禁用此消息的方法,但没有任何发现。知道如何禁用该消息吗? 最佳答案 转到Settings→Editor→Inspections然后Java→Declarationredundancy→Declarationaccesscanbeweaker规则。在这里,您可以完全禁用它,也可以在右侧Pane中选择建议选项: 关于java-如何在IntelliJ中禁用"

Java:使用类型参数访问私有(private)构造函数

这是thisquestionaboutjavaprivateconstructors的后续内容.假设我有以下类(class):classFoo{privateTarg;privateFoo(Tt){//private!this.arg=t;}@OverridepublicStringtoString(){return"Myargumentis:"+arg;}}如何使用反射构造一个newFoo("hello")?回答基于jtahlborn'sanswer,以下作品:publicclassExample{publicstaticvoidmain(finalString[]args)thro

Java:使用类型参数访问私有(private)构造函数

这是thisquestionaboutjavaprivateconstructors的后续内容.假设我有以下类(class):classFoo{privateTarg;privateFoo(Tt){//private!this.arg=t;}@OverridepublicStringtoString(){return"Myargumentis:"+arg;}}如何使用反射构造一个newFoo("hello")?回答基于jtahlborn'sanswer,以下作品:publicclassExample{publicstaticvoidmain(finalString[]args)thro

java - 为什么内部类可以覆盖私有(private) final方法?

我想知道将私有(private)方法也声明为final是否有意义,我认为这没有意义。但我想象有一个排他的情况,并写了代码来解决它:publicclassBoom{privatevoidtouchMe(){System.out.println("super::Iamnotoverridable!");}privateclassInnerextendsBoom{privatevoidtouchMe(){super.touchMe();System.out.println("sub::Yousuck!Ioverridedyou!");}}publicstaticvoidmain(String

java - 为什么内部类可以覆盖私有(private) final方法?

我想知道将私有(private)方法也声明为final是否有意义,我认为这没有意义。但我想象有一个排他的情况,并写了代码来解决它:publicclassBoom{privatevoidtouchMe(){System.out.println("super::Iamnotoverridable!");}privateclassInnerextendsBoom{privatevoidtouchMe(){super.touchMe();System.out.println("sub::Yousuck!Ioverridedyou!");}}publicstaticvoidmain(String

java - 使用反射获取所有私有(private)字段

我想知道有没有办法在Java中获取某个类的所有私有(private)字段及其类型。例如,假设我有一个类(class):classSomeClass{privateStringaaa;privateSomeOtherClassbbb;privatedoubleccc;}现在我想获取类SomeClass的所有私有(private)字段(aaa、bbb、ccc)(事先不知道所有字段的名称)并检查它们的类型。 最佳答案 可以通过Class的getDeclaredFields()方法获取所有字段。然后您必须检查每个字段的修饰符以找到私有(pr