标签: parameterized

参数化类和元类之间有什么区别(请用Python中的代码示例)?

Hello Stack Overflow的贡献者,

我现在是一名学习Python的新手程序员,我来到这个网站,它有助于解释面向对象的范例.我知道元类是类的类(比如元目录是目录的目录等等),但我遇到了一些问题:元类和参数化类之间的实际区别是什么,根据网站的定义?

如果可以,请在Python中包含代码示例,以说明两者之间的差异.谢谢您的帮助!

python metaclass class parameterized

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

JUnit 5 和 Arguments.of() 以及函数

编写 JUnit 5 参数化测试,需要使用 Arguments.of() 将函数传递给测试,但有 2 个编译错误我不知道如何修复。任何帮助,将不胜感激。

  1. Arguments 类型中的(Object...) 方法不适用于参数 (boolean, String::length)
  2. 该表达式的目标类型必须是函数接口

public static Stream<Arguments> some() {
    return Stream.of(Arguments.of(true, String::length));
}

@ParameterizedTest
@MethodSource
public <T> void some(final T input, final Function<String, Integer> length) {
}
Run Code Online (Sandbox Code Playgroud)

以下按预期工作。

public void sample() {
    some(true, String::length);
}
Run Code Online (Sandbox Code Playgroud)

parameterized junit5

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

参数化查询没有存储过程?

我见过的每个样本都使用存储过程.我采用了一个用Classic ASP编写的旧应用程序,它使用内联SQL.这是一个明显的问题,所以我需要将其转换为更安全的代码.客户端不希望我在此应用程序中使用存储过程,因此有没有办法在没有存储过程的情况下运行参数化查询?

谢谢

sql vbscript parameterized asp-classic

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

抽象类的参数化方法的奇怪行为

有人能告诉我为什么会出现编译错误吗?我不明白为什么在第二个for循环中转换为A会导致strings()返回一般的对象列表.

import java.util.ArrayList;
import java.util.List;

public class E {

    public static void main(String[] args) {
        for (String s : new D().strings()) {
            System.out.println("s = " + s);
        }
        for (String s : ((A) new D()).strings()) {
            System.out.println("s = " + s);
        }
    }

    static class D extends A<C> {
    }

    static abstract class A<T extends B> {
        List<String> strings() {
            return new ArrayList<String>() {{
                add("Foo");
                add("Bar!");
            }};
        }
    }

    static class B {
    }

    static class C extends B { …
Run Code Online (Sandbox Code Playgroud)

java generics abstract-class parameterized

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

[zend] [db] fetchAll包含多个变量

我正在尝试在具有2个变量的查询上使用fetchAll.我无法弄清楚语法.我只能管理1个变量:

$sql = "SELECT * FROM mytable WHERE field1 = ?";
$this->_db->fetchAll($sql,$value1);  # that works
Run Code Online (Sandbox Code Playgroud)

但是,当查询有多个变量时,我遇到了一些问题

$sql = "SELECT * FROM mytable WHERE field1 = ? AND field2 = ?";
$this->_db->fetchAll($sql,$value1,$value2); # doesn't work
$this->_db->fetchAll($sql,array("field1"=>$value1,"field2"=>$value2)); # doesn't work either
Run Code Online (Sandbox Code Playgroud)

我之所以要用?而不是将变量直接放入查询是我已经学会了使用?允许查询由db引擎一般编译并提高性能.

zend-framework parameterized fetchall zend-db

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

泛型类类型中的参数化方法

我有一个相当简单的问题.我找不到答案.

这两个代码片段有区别吗?有什么区别?

片段1:

public class BinaryTree<T extends Comparable<? super T>> {
   ...
   public <E extends T> void add(E value) {
      ...
   }

   public <E extends T> void add(E value, Node node) {
      ...
   }
   ...
}
Run Code Online (Sandbox Code Playgroud)

Fragment2:

public class BinaryTree<T extends Comparable<? super T>> {
   ...
   public void add(T value) {
      ...
   }

   public void add(T value, Node node) {
      ...
   }
   ...
}
Run Code Online (Sandbox Code Playgroud)

片段1指定明确的是,参数必须是任一类型Ť或类型的子类型Ť.

Fragment2指定参数必须是T类型.但是从我的小知识和经验来看,我认为我也可以在这里提供T的子类型.与fragment1相同.

我查看了这两个片段的反汇编字节码.确实存在差异:

< …
Run Code Online (Sandbox Code Playgroud)

java generics parameterized

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

詹金斯的增量构建

我使用的是Jenkins 1.462,maven版本是3.0.4.在Jenkins我启用了复选框"增量构建 - 仅构建已更改的模块"

我想弄清楚2个问题:

  1. 增量构建是否足够? 这里如何在Subversion的多模块Maven构建中触发单个模块的Jenkins构建?例如,它表示它不能100%工作这里声明增量构建是互补的,例如http://www.slideshare.net/andrewbayer/7-habits-of-highly-effective-jenkins-users完整版本,而不是替代品.

  2. 是否增量构建 - 仅构建已更改的模块实际上是否按预期工作? 我的意思是什么?如果我有模块A,B,X,C,D.X使用A和B,C使用X,D使用C,我在X模块中进行更改.比我想要重新编译模块X(itslef),C(直接使用X)和D(即传递闭包; D使用C,使用C).

注意:这是我为了启用增量构建而做的唯一更改.

parameterized incremental-build maven-3 maven jenkins

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

参数化的sql查询 - asp.net/c#

所以我最近了解到我绝对应该使用参数化查询来避免SQL注入等安全问题.这一切都很好,所有,我得到了它的工作.

此代码显示了我如何执行的一些代码:

param1 = new SqlParameter();
param1.ParameterName = "@username";
param1.Value = username.Text;
cmd = new SqlCommand(str, sqlConn);
cmd.Parameters.Add(param1);

//and so on
Run Code Online (Sandbox Code Playgroud)

但问题是,我有超过14个需要保存到数据库的变量,它就像一个注册表单.如果我必须将这些行写入14次以参数化每个变量,它看起来会非常混乱.有没有更有活力的方法呢?就像使用for循环或其他东西并以某种方式参数化循环中的每个变量一样?

c# sql asp.net parameterized

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

Junit 4.11参数化和分类方法

我已经参数化了junit测试,我想将测试函数分组,以便在一个测试套件中运行一个组,而在另一个测试套件中运行另一个组.

我试过的是这个:

识别TestClass:

@RunWith(Parameterized.class)
public class TestClass {

    private int test;

    public TestClass(int test){
        this.test = test;
    }

    @Parameters
    public static Collection<Object[]> data(){
        return Arrays.asList(new Object[][]{{1},{1}});
    }

    @Test
    @Category(A.class)
    public void aTest(){
        assertEquals(1, test);
    }

    @Test
    @Category(B.class)
    public void bTest(){
        assertEquals(1, test);
    }

}
Run Code Online (Sandbox Code Playgroud)

测试套件:

@SuiteClasses({TestClass.class})
@RunWith(Categories.class)
@IncludeCategory(A.class)
public class Suite {

}
Run Code Online (Sandbox Code Playgroud)

如果我注释测试类,而不是方法,它可以工作.但是我想分类函数而不是测试类,当我尝试时,我得到以下错误:

Category annotations on Parameterized classes are not supported on individual methods
Run Code Online (Sandbox Code Playgroud)

如何才能使其工作(无需切换到TestNG或其他测试框架)?

java junit parameterized categories

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

通过curl POST将参数传递给jenkins作业不起作用?

我尝试发射

curl -X POST -u "user:pass" -H Jenkins-Crumb:thecrumbnumber http://myjenkinsserver/jenkins/job/testjob/buildWithParameters?=PARAMETER=somenumber

它通过触发参数化构建来工作,但问题是没有值传递给构建(即使在作业中设置了令牌也很奇怪,我可以在没有它的情况下触发作业).在jenkins中,该作业有一个配置字符串"PARAMETER",有或没有一些默认值,但从不传递curl启动的参数.我可能缺少什么?

post curl parameterized jenkins

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