标签: parameterized

是否可以用Hudson/Jenkins中的参数化字符串替换整个Repository Url?

在Hudson/Jenkins中,是否可以使用String参数替换Subversion模块存储库URL中的整个字符串?我不想只更换版本或类似的东西,我想替换整个网址.

所以,当我运行构建时,我会得到一个URL的提示,我会写一些像"http://scm.work.corp/svn/com.work.package/tags/project-4.0.0 .RELEASE"它会检查并构建它.

能够替换"com.work.package"和"project-4.0.0.RELEASE"部分将是可以接受的.我基本上希望它是一个可以构建任何版本的工作.

svn hudson parameterized jenkins

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

将lambda传递给参数化的NUnit测试

我有一个带有一堆重载运算符的类:

public static double[,] operator +(Matrix matrix, double[,] array)
public static double[,] operator -(Matrix matrix, double[,] array)
public static double[,] operator *(Matrix matrix, double[,] array)
Run Code Online (Sandbox Code Playgroud)

对于所有这些我想测试操作数为null.我有一个NUnit测试:

public void MatrixOperatorOperandIsNullThrows(Func<Matrix, double[,], double[,]> op)
{
    Matrix m = null;
    var right = new double[,] {{1, 1}, {1, 1}};
    Assert.Throws<ArgumentException>(() => op(m, right));
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能为每个运营商传递一个lambda (l,r) => l + r

c# nunit parameterized

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

JUnit参数化 - 为每个参数创建一个实例

我很恼火地在参数化文档中找到"当运行参数化测试类时,为测试方法和测试数据元素的交叉产品创建实例." 这意味着构造函数对于每个单独的测试运行一次,而不是在运行所有测试之前运行.我有一个昂贵的操作(1-5秒),我把它放在构造函数中,现在操作重复了太多次,不必要地减慢了整个测试套件.只需一次操作即可设置所有测试的状态.如何使用参数化测试的一个实例运行多个测试?

java junit unit-testing parameterized junit4

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

参数化SQL列?

我有一些代码利用参数化查询来防止注入,但我还需要能够动态构造查询,而不管表的结构如何.这样做的正确方法是什么?

这是一个例子,说我有一个表名列,地址,电话.我有一个网页,我在其中运行显示列并使用它们作为选项填充选择下拉列表.

接下来,我有一个名为Search的文本框.此文本框用作参数.

目前我的代码看起来像这样:

result = pquery('SELECT * FROM contacts WHERE `' + escape(column) + '`=?', search);

不过,我从中得到了一种icky的感觉.我使用参数化查询的原因是为了避免使用转义.此外,转义可能不是为逃避列名而设计的.

我怎样才能确保这个按照我的意图运作?

编辑: 我需要动态查询的原因是架构是用户可配置的,我不会修复任何硬编码的东西.

sql-injection parameterized

8
推荐指数
1
解决办法
2123
查看次数

使用反射在Java中创建通用参数化类

如何使用反射在Java中创建通用参数化类?

我有

public class SomeClass<T> {
   public SomeClass<T>() {
   }
}
Run Code Online (Sandbox Code Playgroud)

我需要一个它的实例.

我尝试过变种

Class c = Class.forName("SomeClass");
Run Code Online (Sandbox Code Playgroud)

但是找不到允许我获得适当类型实例的语法,比如说

SomeType instance = (SomeType)Class.forName("SomeClass<SomeType>").createInstance();
Run Code Online (Sandbox Code Playgroud)

那么,我该怎么做呢?

java generics reflection parameterized

8
推荐指数
1
解决办法
7839
查看次数

带有参数化版本的maven发布插件

是否可以将maven发布插件与多模块项目一起使用,其中一些模块间依赖项是使用父pom中的参数指定的?

当我尝试调用release:prepare我收到以下错误:

[错误]未能执行目标org.apache.maven.plugins:行家释放小插件:2.1:准备(默认CLI)项目森林父母:版本无法更新:$ {some.version} - > [帮助1]

这是我的插件定义:

<plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <goals>deploy</goals>
                <tagBase>https://svn.domain.com/svn/project/tags</tagBase>
                <autoVersionSubmodules>true</autoVersionSubmodules>
                <tagNameFormat>@{project.version}</tagNameFormat>
            </configuration>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

提前致谢!

version parameterized maven-3 maven maven-release-plugin

8
推荐指数
1
解决办法
4554
查看次数

运行Python参数化测试方法时出错

IDE: PyCharm Community Edition 3.1.1
Python: 2.7.6

我使用DDT进行测试参数化http://ddt.readthedocs.org/en/latest/example.html

我想从PyCharm中的测试类中选择并运行参数化测试方法- >参见示例:

from unittest import TestCase
from ddt import ddt, data


@ddt
class Test_parameterized(TestCase):
    def test_print_value(self):
        print 10
        self.assertIsNotNone(10)

    @data(10, 20, 30, 40)
    def test_print_value_parametrized(self, value):
        print value
        self.assertIsNotNone(value)
Run Code Online (Sandbox Code Playgroud)

当我导航到test_print_value代码中的第一个测试方法并点击ctrl+ Shift+ F10(或使用Run Unittest test_print...上下文菜单中的选项)时,执行测试.

当我尝试使用参数化测试时,我得到错误:

Test framework quit unexpectedly
Run Code Online (Sandbox Code Playgroud)

输出包含:

/usr/bin/python2 /home/s/App/pycharm-community-3.1.1/helpers/pycharm/utrunner.py
/home/s/Documents/Py/first/fib/test_parametrized.py::Test_parameterized::test_print_value_parametrized true

Testing started at 10:35 AM ...

Traceback (most recent call last):
  File "/home/s/App/pycharm-community-3.1.1/helpers/pycharm/utrunner.py", line 148, …
Run Code Online (Sandbox Code Playgroud)

python unit-testing parameterized pycharm python-2.7

8
推荐指数
1
解决办法
4815
查看次数

Spring Boot/JUnit,运行多个配置文件的所有单元测试

我有一个BaseTest类,它包含几个测试.每个测试都应该针对我列出的每个配置文件执行.

我想过使用参数化值,例如:

@RunWith(Parameterized.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
// @ActiveProfiles("h2-test") // <-- how to iterate over this?
public abstract class BaseTest {

@Autowired
private TestRepository test;

// to be used with Parameterized/Spring
private TestContextManager testContextManager;

public BaseTest(String profile) {
   System.setProperty("spring.profiles.active", profile);
   // TODO what now?
}

@Parameterized.Parameters
public static Collection<Object[]> data() {
  Collection<Object[]> params = new ArrayList<>();
  params.add(new Object[] {"h2-test" });
  params.add(new Object[] {"mysql-test" });
  return params;
}

@Before 
public void setUp() throws Exception {
  this.testContextManager = new TestContextManager(getClass());
  this.testContextManager.prepareTestInstance(this);
  // maybe …
Run Code Online (Sandbox Code Playgroud)

java junit spring parameterized spring-boot

8
推荐指数
3
解决办法
3875
查看次数

参数化方法运行两次

我正在运行这段代码,并意识到该getAllParameters()方法由于某种原因运行了两次。由于静态字段enumMap是在该方法之外初始化的,因此它会被填充两次,这会导致重复元素并使我正在运行的测试失败。

我认为enumMap在方法内部初始化可以解决问题,因为当该方法第二次运行时地图确实会重置。

尽管这解决了问题,但我想知道为什么在运行 Maven Test 时会发生这种情况?我尝试了参数的数量,认为这可能会影响方法运行的次数,但它似乎只运行了两次。

@RunWith(Parameterized.class)
public class MyTest {

    private static Map<String, List<Class<? extends LocalizedJsonEnum>>> enumMap = new HashMap<>();

    @Parameter
    @SuppressWarnings({"WeakerAccess", "unused"})
    public Class<? extends LocalizedJsonEnum> currentEnum;
    @Parameter(value = 1)
    @SuppressWarnings({"WeakerAccess", "unused"})
    public  String currentClassName;

    /**
     * Generate a list of all the errors to run our test against.
     *
     * @return the list
     */
    @Parameters(name = "{1}.class")
    public static Collection<Object[]> getAllParameters() throws Exception {
        Collection<Object[]> parameters = new LinkedList<>();
        Reflections reflections …
Run Code Online (Sandbox Code Playgroud)

java junit unit-testing parameterized maven

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

JUnit 5 中的 beforeEach/beforeAll 参数化

我想为一个类似数据库的小型应用程序编写一个测试。此应用程序使用查询,查询应返回正确的结果。这在 JUnit 5 中很容易实现,比如

@BeforeEach
void before() {
  database = prepareDatabase();
}

@Test
void testQuery1() {
  assertThat(database.query("query1")).isEqualTo("result1");
}

@Test
void testQuery2() {
  assertThat(database.query("query2")).isEqualTo("result2");
}

....
Run Code Online (Sandbox Code Playgroud)

现在我想添加优化开关(例如查询优化器或数据库索引)。无论运行优化开关如何,查询都应该返回相同的结果(优化应该只改变效率而不是结果)。

对于测试,这意味着我想为其他一些实现prepareDatabase()(例如,一个带有优化器,一个带有索引,一个什么都没有)运行相同的方法。

我还没有找到合适的扩展名。我想为每个优化设置复制整个类或提供来自共享父类的方法。然而,这感觉不像 JUnit 5 完成这项任务的方式。也许有人可以给我指出一个可以帮助我解决这个问题的功能?

java parameterized junit5

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