小编Fin*_*las的帖子

Spring:JUnit-Test:未加载applicationContext

我有以下Test-class,但是我设置为"ContextConfiguration-locations"并不重要 - 它从不设置我的UserService.当我在locations-property中设置一个不存在的文件时,它不会抛出任何错误...我做错了什么?

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:applicationContextTest.xml" })
public class BasicPersistenceTest {

@Autowired
private UserService userService;

@Test
public void testUserLogin() throws Exception {

    User result = userService.getUser("stefan", "walkner");

    Assert.assertNotNull(result);
}

@Test
public void testLogin() {
    User user = userService.getUser("stefan", "walkner");
    Assert.assertNull(user);
}

public UserService getUserService() {
    return userService;
}

public void setUserService(UserService userService) {
    this.userService = userService;
}
}
Run Code Online (Sandbox Code Playgroud)

春季版:2.5.6.SEC01

JUnit-Version:4.5

JDK:1.5

java junit spring unit-testing

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

继承和接口.NET

奇怪的问题:

想象一下,我有一个名为BaseFoo的基类.我有一个名为IFoo的方法接口.我在BaseFoo下面有很多类.

如果我在BaseFoo中实现接口,我不需要在继承的类中实现,对吗?

好的,但想象一下,我有一个处理IFoo的通用功能.我是否需要明确声明他们实施IFoo?

像这样(伪插图代码)

public class BaseFoo:IFoo;

public interface IFoo;
Run Code Online (Sandbox Code Playgroud)

我应该这样做吗?

public class AmbarFoo:BaseFoo,IFoo
Run Code Online (Sandbox Code Playgroud)

要么?

public class AmbarFoo:BaseFoo
Run Code Online (Sandbox Code Playgroud)

什么是最正确的方法?效果是否相同?如果我测试AmbarFoo是否是IFoo我会得到什么?

谢谢

c# oop

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

将条件扁平化为重构

考虑:

if (something) {
    // Code...
}
Run Code Online (Sandbox Code Playgroud)

安装CodeRush后,建议:

if (!something) {
    return;
}
// Code...
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下这更好吗?当然,没有任何好处.

refactoring coderush

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

谁能告诉我这个C++的作用是什么?

CUSTOMVERTEX* pVertexArray;

if( FAILED( m_pVB->Lock( 0, 0, (void**)&pVertexArray, 0 ) ) ) {
    return E_FAIL;
}


pVertexArray[0].position = D3DXVECTOR3(-1.0, -1.0,  1.0);
pVertexArray[1].position = D3DXVECTOR3(-1.0,  1.0,  1.0);
pVertexArray[2].position = D3DXVECTOR3( 1.0, -1.0,  1.0);
...
Run Code Online (Sandbox Code Playgroud)

我暂时没有触及C++ - 因此这个话题,但这段代码让我自己感到困惑.调用m_pVB-> Lock后,初始化数组.

这很好,但我遇到的问题就是如何发生这种情况.下面的代码使用了9个元素,但是我正在使用的代码的另一个函数(几乎是复制/粘贴)只有四个元素.

CUSTOMVERTEX是一个结构体,但我的印象是这不重要,并且需要将结构/对象数组初始化为固定大小.

任何人都可以清除这个吗?

编辑:

鉴于回复,它如何知道我需要数组中的9个元素,或者等等...?

因此,只要缓冲区足够大,元素就是合法的.如果是这样,如果我没有弄错的话,这段代码就是设置缓冲区大小.

if( FAILED( m_pd3dDevice->CreateVertexBuffer( vertexCount * sizeof(CUSTOMVERTEX), 0, D3DFVF_CUSTOMVERTEX, D3DPOOL_DEFAULT, &m_pVB, NULL ) ) ) {
        return E_FAIL;
}
Run Code Online (Sandbox Code Playgroud)

c++ directx

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

使用C#轻松读写XML

我已经找到了阅读XML的东西,但是我发现编写和更新XML很困难.

任何人都可以帮助提供有关写入XML文件的最佳方式的一些代码或建议吗?

c# xml

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

比较 C# 中包含格式的字符串

我正在开发一个函数,它给出了一些设置 - 例如行距,输出(以字符串形式)被修改。为了测试此类场景,我使用字符串文字,如下所示的预期结果。

该方法使用字符串生成器 ( AppendLine) 生成所述输出。我遇到的一个问题是比较这些字符串。在下面的示例中,两者就其所代表的含义而言是相同的。结果是我关心的区域,但是当比较两个字符串时,一个是文字,一个不是,相等自然会失败。这是因为其中一个字符串发出行间距,而另一个字符串仅演示其包含的格式。

解决这个平等问题的最佳方法是什么?我确实关心格式,例如方法结果中的新行,这是至关重要的。

代码:

string expected = @"Test\n\n\nEnd Test.";
string result = "Test\n\n\nEnd Test";

Console.WriteLine(expected);
Console.WriteLine(result);
Run Code Online (Sandbox Code Playgroud)

输出:

  测试\n\n\n结束测试。
  测试


  结束测试

c# string equality

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

为什么不能用Ruby声明方法中的常量?

考虑以下情况,StubFoo是Foo的存根,我希望将其用于某些测试.

class Runner

  def run
      Foo = StubFoo
      foo = Foo.new
      # using Foo...
  end

end
Run Code Online (Sandbox Code Playgroud)

这会生成以下错误消息: Dynamic constant assignment

然而,在RSpec我可以做以下工作,这是有效的,并且完全合法:

it "should be an example" do
  Foo = StubFoo
  foo = Foo.new
  foo.to_s.should == "I am stubbed!"
end
Run Code Online (Sandbox Code Playgroud)

关于这一点的一些问题.

  • 为什么这适用于RSpec测试用例,而不是上述方法?
  • 据我所知,"它"只是RSpec中的一种方法,但我能够在"方法"中重新声明一个常量.

我在使用模拟框架之前做这个,纯粹想知道如何在Ruby中进行模拟,存根等等.我听说动态语言更容易模拟/存根,并且互联网上有指南,其中简单的类重新分配如上所述.根据我的研究,在Ruby中,不可能在方法中声明常量,但我如上所述会感到困惑.

编辑

对,这开始变得更有意义了.我已经更新了run,现在正在使用const_set.

  def run
      old = Foo
      self.class.const_set(:Foo, StubFoo)
      foo = Foo.new
      puts foo.to_s
      self.class.const_set(:Foo, old)
      foo = Foo.new
      puts foo.to_s
  end
Run Code Online (Sandbox Code Playgroud)

这会产生一个警告,然而,这是什么/如何模拟框架在Ruby中工作?显然更优雅,功能齐全,但他们只是压制这个警告?

ruby constants

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

测试方法会抛出特定的异常.NET

如何测试void方法在.NET中引发特定异常.

我有一个方法,根据输入抛出3种不同类型的异常.我如何测试我每次都获得当前的一个,并且还测试它在通过正确输入时不会抛出任何内容.

谢谢!

unit-testing assert mstest exception-handling

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

管理Rails的gem版本/依赖项

只是一点背景,我来自一个强大的C#/静态类型背景.因此,我倾向于用.dlls来思考.因此,如果我在一个项目中工作,我会参考我需要的dll,那就是那个.

作为Ruby和Rails的新手,我发现我可能做错了什么.例如,我使用本地的宝石在家创建一个Rails应用程序.使用不同的计算机(比如工作计算机)我试图在项目上工作,却发现我使用的是不同版本的宝石.执行捆绑安装后,我回到了一个工作项目.

我遇到的问题是我的宝石库变得"凌乱".我最终得到了同一个宝石的几个版本.这是其他人的工作方式吗?当使用gem(来自require)时,它会默认为最新版本吗?我觉得好像我没有正确管理依赖项,尽管我已经提到过我是Ruby的新世界.

我应该只包含我的依赖项,然后每次有不同/缺少的依赖项时执行bundle安装吗?如果我想升级到更新版本的gem,会发生什么?是否会更新bundle使用并继续使用它的gemfile?

ruby dependencies bundle rubygems ruby-on-rails

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

ConvertTo-Xml Powershell 未按预期工作

ls | ConvertTo-Xml  # Broken?
ls | ConvertTo-Json # Works
ls | ConvertTo-Html # Works
Run Code Online (Sandbox Code Playgroud)

后者有效,但第一个仅返回:

xml                Objects
---                -------
version="1.0"      Objects
Run Code Online (Sandbox Code Playgroud)

除非我很愚蠢,否则网上的其他例子表明这种事情应该有效。

powershell

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