小编use*_*r85的帖子

即使其中一个断言失败,也会在junit4中继续执行测试

我使用Jfunc构建了现有的框架,即使在测试用例中的一个断言失败时也提供了继续执行的工具.Jfunc使用junit 3.x框架.但是现在我们正在迁移到junit4,所以我不能再使用Jfunc并用junit 4.10 jar替换它.
现在的问题是因为我们在框架中广泛使用了jfunc,而对于junit 4,我们希望使代码继续执行,即使其中一个断言在测试用例中失败.
有没有人对此有任何建议/想法,我知道在junit中测试需要更加原子化,即每个测试用例一个断言,但由于某种原因我们不能在我们的框架中这样做.

java junit4

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

如何调用shell脚本并从另一个shell脚本传递参数

我从另一个shell脚本调用shell脚本,并且被调用的脚本需要一些输入(命令行)参数.
我有下面提到的代码,但那不起作用.我不知道为什么参数值没有传递给被调用的脚本.

script1.sh
=======================================
#!/bin/bash
ARG1="val1"
ARG2="val2"
ARG3="val3"
. /home/admin/script2.sh "$ARG1" "$ARG2" "$ARG3"


script2.sh
=======================================
#!/bin/bash
echo "arg1 value is: $1 ....."
echo "arg2 value is: $2 ....."
echo "arg3 value is: $3 ....."
Run Code Online (Sandbox Code Playgroud)

但是当我执行script1.sh时,我得到以下结果:

arg1 value is:  .....
arg2 value is:  .....
arg3 value is:  .....
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

unix shell

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

@parameters方法在@beforeclass方法之前执行

我正在使用junit 4的"参数化"功能,我注意到@parameters方法在@beforeclass方法之前执行.这给我带来了一个问题,因为我通过@parameters传递给测试用例的参数取决于@beforeclass方法中初始化的代码.例如

@RunWith(Parameterized.class)
public class TestOtherClass {

    String argument;
    private static boolean initializeThis;

    public TestOtherClass(String parameter) throws Exception {
        argument=parameter;
    }

    @BeforeClass
    public static void doSetup() {
        System.out.println("Doing setup before class...");
        initializeThis=true; // true or false, based on some condition
    }

    @Test
    public void otherTest() {
        System.out.println("Other test: " + argument);
    }

    @Parameters
    public static Collection<Object[]> getData(){
        System.out.println("Inside parameter");
        String addThis;
        if(initializeThis)
            addThis="adding true";
        else
            addThis="adding false";

        Object[] para1 = new Object[]{"First parameter :: " + addThis};
        Object[] para2 = …
Run Code Online (Sandbox Code Playgroud)

java junit junit4

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

为什么我们需要在做2的补码时加1

由N位表示的数字的2的补码是2 ^ N数.
例如:如果number是7(0111)并且我用4位表示它,那么它的2的补码将是(2 ^ N数),即(2 ^ 4 -7)= 9(1001)

7==> 0111
1's compliment of 7==> 1000
1000
+  1
-------------
1001 =====> (9)
Run Code Online (Sandbox Code Playgroud)

在计算数字的2的补码时,我们执行以下步骤:1.对数字2进行补码2.在步骤1的结果中加1.

我知道我们需要做一个补码,因为我们正在做一个否定操作.但为什么我们加1呢?

这可能是一个愚蠢的问题,但我很难理解逻辑.为了解释上面的例子(对于数字7),我们做一个补码并得到-7然后加+1,所以-7 + 1 = -6,但我们仍然得到正确的答案,即+9

math bit-manipulation twos-complement

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

正则表达式为数字,后跟点(。)

我想找到带有数字的文本,后跟一个点,然后用相同的文本(带有点的数字)和“ xyz”字符串替换它。对于前。

1. This is a sample
2. test
3. string

**I want to change it to**
1.xyz This is a sample
2.xyz test
3.xyz string
Run Code Online (Sandbox Code Playgroud)

我学习了如何找到匹配的文本(\ d。),但是面临的挑战是找到替换为文本的文本。我为此使用记事本++编辑器,任何人都可以建议“替换为”字符串。

regex notepad++

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

Java中的循环继承层次结构

我知道Java中不允许使用循环继承层次结构.编译器会抛出错误,但我真正感兴趣的是知道编译失败的确切原因.

class A extends B{}
class B extends C{}
class C extends A{}  // this will give you compile time error.
Run Code Online (Sandbox Code Playgroud)

在我编写代码的那一刻,编译器将抛出错误的原因是什么 class C extends A{}

java inheritance

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

如何在黄瓜中链接特征和步骤定义

我是Cucumber java的新手,并且在初始阶段存在此问题:由于某种原因,我没有使用MAVEN项目。我刚刚在eclipse中创建了一个简单的Java项目。

我的功能位于“ src / dummy / pkg / features”下,我的实现“ StepDef.java”位于“ src / dummy / pkg / features / implementation”下

我已经为“给定”,“何时”和“然后”编写了步骤定义,但是当我运行功能文件时,它无法识别实现。如何将功能与步骤定义链接?

java cucumber cucumber-jvm cucumber-junit

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

为什么 Nunit3 OneTimeSetUp() 在 [Test] 之后而不是之前调用

我用 Nunit 2.6 编写了单元测试,但计划升级到 Nunit 3.6.1 ,但是我注意到 Nunit 3.6.1 出现了一个奇怪的问题(或者可能是我没有正确理解它)。问题出在 OneTimeSetUp() 上。

在 Nunit 2.6.3 中,我有 SetUpFixtureAttribute [SetUpFixture] 并在该 SetUpAttribute [SetUp] 中,它按我的预期工作,流程是

设置夹具.设置

测试夹具.设置

测试夹具.测试

测试夹具.TearDown

测试夹具.设置

测试夹具.测试

测试夹具.TearDown

设置夹具.TearDown

当我升级到 Nunit 3 时,我用 OneTimeSetUp 替换了 SetUpFixture 中的 SetUp(),运行代码后我得到了以下流程

测试夹具.设置

测试夹具.测试

测试夹具.TearDown

SetUpFixture.OneTimeSetUp

SetUpFixture.OneTimeTearDown

以下是我在我的机器上尝试的示例代码以及命令行输出

   [SetUpFixture]
    public class TestBase
    {
        [OneTimeSetUp]
        //[SetUp]
        public static void MyTestSetup()
        {
            Console.WriteLine(" ---------- Calling OneTimeSetUp ----------");

        }
    }


[TestFixture]
    class TestClass : TestBase
    {
        [Test]
        public void test()
        {
            Console.WriteLine("\n ....I'm inside TestClass.test() ...."); …
Run Code Online (Sandbox Code Playgroud)

nunit nunit-console nunit-3.0

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