小编use*_*283的帖子

嵌套方法在Mockito中嘲弄

我有以下Java类:

public class A
{
    @Autowired
    private B b;
    public int aFn()
    {
        int something = b.bFn();
    }
}
public class B
{
    @Autowired
    private C c;
    public int bFn()
    {
        int something = c.cFn();
    }
}
public class C
{
    public int cFn()
    {
        return 231;
    }
}
Run Code Online (Sandbox Code Playgroud)

以下测试使用Mockito测试上面的代码:

public class test
{
    @Autowired
    private A a;

    private C c;

    @Test
    public void testA()
    {
        c = mock(C.class);
        when(c.cFn(),anyInt()).thenReturn(something);
        assertEquals(0, a.aFn());
    }
}
Run Code Online (Sandbox Code Playgroud)

当我调试testA时,我发现真正的c.Cfn()被执行,而不是被模拟的.我在这里做错了什么吗?请帮忙!

java junit mocking mockito

5
推荐指数
1
解决办法
9108
查看次数

通过ssh续集连接

我无法使用sequelize连接到远程mysql服务器,但我能够进入机器并连接到mysql.

如何使Sequelize通过ssh而不是直接在节点中连接到mysql服务器?

node.js sequelize.js

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

将一个字符串转换为另一个字符串的成

假设我们只想使用3种类型的操作将一个字符串S1转换为另一个字符串S2:

-Insert(pos,char) (costs 8)
-Delete(pos) (costs 6)
-Replace(pos,char) (costs 8)
Run Code Online (Sandbox Code Playgroud)

找到将S1转换为S2的步骤顺序,以便将S1转换为S2的成本最小.例如."计算"到"迟到" - 可能的操作是

Delete(0)
Delete(1)
Delete(2)
Delete(3)
Delete(4)
Run Code Online (Sandbox Code Playgroud)

并且上述操作顺序成本为30.

我使用以下代码来执行此操作,但它没有给出正确的结果.使用的算法是Levenshtein.

tuples=[]
ops=[]
s1=''
s2=''
def levenshtein(a,b):
    global s1,s2
    n, m = len(a), len(b)
    if n > m:
        a,b = b,a
        n,m = m,n
    s1,s2=a,b
    current = range(n+1)
    for i in range(0,len(current)):
        current[i]=current[i]*8
    tuples.append(current)
    for i in range(1,m+1):
        previous, current = current, [i*8]+[0]*n
        for j in range(1,n+1):
            add, delete = previous[j]+6, current[j-1]+8
            change = previous[j-1]
            if a[j-1] != b[i-1]:
                change=change+8
            current[j] …
Run Code Online (Sandbox Code Playgroud)

string algorithm

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

标签 统计

algorithm ×1

java ×1

junit ×1

mocking ×1

mockito ×1

node.js ×1

sequelize.js ×1

string ×1