小编ViV*_*ViV的帖子

即使在添加@PrepareForTest之后,Mockito也要求为该类添加@PrepareForTest

我有以下简单的代码.我有一个类(TestClass),我想测试"someMethod".有一个外部静态方法,由我的"someMethod"调用.我想Powermock那个静态方法给我一些虚拟对象.我在开头有@PrepareForTest(ExternalClass.class),但是当我执行它时会给出错误:

ExternalClass类没有准备好进行测试.要准备此类,请将类添加到'@PrepareForTest'注释中.如果您不使用此批注,请在类或方法级别添加批注.

请帮我指出我使用的方式有什么问题 @PrepareForTest

@RunWith(PowerMockRunner.class)
@PrepareForTest(ExternalClass.class)
public class xyzTest {  
    @Mock
    private RestTemplate restTemplate;

    @Mock
    private TestClass testClass;

    @BeforeClass
    private void setUpBeforeClass() {
        MockitoAnnotations.initMocks(this);
    }

    @Test
    public void testSuccessCase() {
        Boolean mockResponse = true;
        ResponseEntity<Boolean> response = new ResponseEntity<Boolean>(mockResponse, HttpStatus.OK);
        SomeClass someClass = new SomeClass("test", "1.0.0", "someUrl", "someMetaData");

        PowerMockito.mockStatic(ExternalClass.class);

        Mockito.when(restTemplate.postForEntity(any(String.class), any(String.class), eq(Boolean.class))).thenReturn(response);
        Mockito.when(ExternalClass.getSomeClass(any(String.class))).thenReturn(someClass);

        Boolean result = testClass.someMethod("test");

        Assert.isTrue(result);
        Mockito.verify(restTemplate, times(1)).postForObject(any(String.class), any(String.class), any());
    }
}
Run Code Online (Sandbox Code Playgroud)

java mockito powermock

19
推荐指数
6
解决办法
3万
查看次数

对Hashset .Net 3.5进行排序

如何HashSet<string>在c#.Net 3.5中排序?

c# .net-3.5

13
推荐指数
3
解决办法
3万
查看次数

查询TreeNodeCollection

我在Windows窗体UI上有一个treeview控件,它有几个节点(有多个子节点).我想查询节点集合,以便比如说1.选择名称以'x'开头的
那些2.选择那些在Node.Tag字段中没有任何数据的节点.

有人可以建议我这样做的方法.Linq会让它变得简单和整洁,但我在Linq上找不到任何查询TreeNodeCollection的内容.

谢谢,

c# linq winforms

11
推荐指数
1
解决办法
9707
查看次数

long.Parse()C#

如何在C#中将字符串(例如"-100,100")转换为long.

我目前有一行代码

long xi = long.Parse(x, System.Globalization.NumberStyles.AllowThousands);
Run Code Online (Sandbox Code Playgroud)

但是当x是"负数"时,这会中断.

我的方法:

long xi = long.Parse("-100,253,1", 
System.Globalization.NumberStyles.AllowLeadingSign & System.Globalization.NumberStyles.AllowThousands);
Run Code Online (Sandbox Code Playgroud)

错了,因为它破了.

c# .net-3.5

10
推荐指数
2
解决办法
9281
查看次数

JAVA TimeZone发行EDT对EST

我是java的新手,因此很长一段时间以来都无法解决这个问题.

我使用的是Windows XP,机器设置为TimeZone:Eastern Time(美国和加拿大).

我有一个Java应用程序,它获取当前系统时间和时区信息,并将如下字符串:20101012 15:56:00 EST写入文件.

上面的最后一条日期,即:时区,随着我改变系统日期,从EST变为EDT.

准确:从11月(例如:2009年11月)到3月(2010年3月),它是EST,否则是EDT.

EST是什么,我想总是不EDT.

是否有任何特定的类/功能,我总是可以将其作为EST读取?

等待回复.


谢谢你的回复.好吧,我忘了提几件事.

  1. 我希望我的机器设置为:在Windows时区设置中的东部时间(美国和加拿大).

  2. 简单来说,我想做的是:获取我的机器时间,并将其写入文本文件

  3. 我知道从3月到11月发生的夏令时.

但问题是,当我将机器时间写入文件时,如果不存在夏令时(DST),则写为2010 01 12 15:56:00美国东部时间,如果是夏令时,则为20101012 15:56:00当下.我担心的是,无论是否是夏令时,我都想写EST.

java timezone dst

9
推荐指数
1
解决办法
3万
查看次数

在C#中传递值

如何通过Parameter-by-Value将"MyClass"(C#)的对象传递给方法?例:

MyClass obj = new MyClass();
MyClass.DontModify(obj); //Only use it!
Console.Writeline(obj.SomeIntProperty);
Run Code Online (Sandbox Code Playgroud)

...

public static void DontModify(MyClass a)
{
    a.SomeIntProperty+= 100;// Do something more meaningful here
    return;
}
Run Code Online (Sandbox Code Playgroud)

c# pass-by-value

9
推荐指数
3
解决办法
3万
查看次数

使用List.ToLookup()

我有一个如下列表:

var products = new List<Product>
{
    new Product { Id = 1, Category = "Electronics", Value = 15.0 },
    new Product { Id = 2, Category = "Groceries", Value = 40.0 },
    new Product { Id = 3, Category = "Garden", Value = 210.3 },
    new Product { Id = 4, Category = "Pets", Value = 2.1 },
    new Product { Id = 5, Category = "Electronics", Value = 19.95 },
    new Product { Id = 6, Category = …
Run Code Online (Sandbox Code Playgroud)

.net c# linq

6
推荐指数
2
解决办法
1万
查看次数

log4net日志文件在哪里?

我有一个Windows窗体应用程序,它使用log4net写入日志文件.app.config文件中的日志文件路径定义为:

<file type="log4net.Util.PatternString" value="Logs/LogFileName" />.
Run Code Online (Sandbox Code Playgroud)

我有一个msi安装项目,安装上面的应用程序.我在开发机器上安装App,运行已安装的App,并按预期在目录InstallDirectory/Logs /下写入日志文件.开发机器具有Win XP SP3,具有所有读写权限.

但是,当我在具有Windows 7且我不确定权限的测试计算机上安装相同内容时,没有"Logs"目录,也没有日志文件.

在这两种情况下,InstallDirectory都是C:\ Program Files\Dir1\Dir2.

当我试图找出文件的位置时,在测试机器上添加:

log4net.Appender.FileAppender rootAppender = (log4net.Appender.FileAppender)((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root.Appenders[0];
string filename = rootAppender.File;
MessageBox.Show(filename);
Run Code Online (Sandbox Code Playgroud)

对于代码,有人可以请一些亮点.

  • 为什么文件丢失了?
  • Win 7是否有任何不同的方法来处理Windows安装的驱动器中的新文件?

c# log4net

5
推荐指数
2
解决办法
7696
查看次数

引用Task &lt;&gt;声称它在mscorlib中定义

我有一个可运行的.net 4.5.2 Winforms应用程序,该应用程序使用OAuth 2.0和Google DoubleClickBidManager库进行一些API调用。

我需要将其移植到.net 3.5,以便可以将其打包在SSIS中。

Google API使用Async,Await和Task,并使其在3.5中工作,我添加了 nuget包并修复了很多参考错误。

但是我无法解决这个问题:

在此处输入图片说明

谁能给我一些解决办法?

c# ssis task-parallel-library async-await google-api-dotnet-client

5
推荐指数
0
解决办法
1143
查看次数

Istio 断路器回退

我正在探索 Istio 的断路器,如果电路跳闸,我不想设置回退方法。

我有一些 Spring Boot 应用程序部署在 kubernetes 上,并且在 DestinationRule 中定义了 Istio 的断路。

我可以看到,当我故意关闭被调用的服务时,我的调用方应用程序会收到 503 Service Unavailable 异常。

我正在寻找设计模式或库,我可以使用它们为我的休息调用定义回退方法,类似于@HystrixCommand。

我检查了spring-cloud-circuitBreaker但它不支持 Istio。我还使用 Spring RestTemplate 探索了 ClientHttpRequestInterceptor,并且可以捕获所有 ServiceUnavailable 异常,但是我需要一种方法来为不同的 REST 调用配置不同的回退方法。

任何建议表示赞赏。

circuit-breaker spring-boot hystrix istio

5
推荐指数
0
解决办法
373
查看次数

将数据从Excel工作表复制到不同的文件

我有一张excel表,里面有一些巨大的数据.数据组织如下,一组7列和n行; 如表中所示,1000个这样的表水平放置,空列分开.屏幕截图如下......

在此输入图像描述 ...

我只想将每个"表"的数据保存到不同的文件中.手动它需要永远!那么,是否有一个宏或其他什么我会自动执行此任务.我不熟悉编写宏或任何VBA的东西.

谢谢,

excel vba excel-2007 excel-vba

4
推荐指数
1
解决办法
2029
查看次数

var的行为

DataTable test = new DataTable();
foreach (var r in test.Rows)
{
    r[1].tostring();
}
Run Code Online (Sandbox Code Playgroud)

为什么编译器不理解r是DataRow?有关错误消息,请参见下图.

在此输入图像描述

.net c#

0
推荐指数
1
解决办法
87
查看次数