0

这是场景:我有:

public class RandomStringUUID {

    public RandomStringUUID() {
        final String uuidstring = UUID.randomUUID().toString().replaceAll("-", "");
    }


    public String getRandomStringUUID() {
        final String uuidst = UUID.randomUUID().toString().replaceAll("-", "");
        return uuidst;
    }
}

我在哪里产生一个独特的价值。

然后在:

public class AddSingleDomain {

    public static RandomStringUUID RUUID = new RandomStringUUID();

    @Test
    public void addSingleDomain() {
        AssertJUnit.assertEquals(DomainsPage.getTitle(), "View Account");


        String randomUIDSeed = RUUID.getRandomStringUUID();

        System.out.println("Random Domanin Name Prefix: "
                + randomUIDSeed);
        System.out.println("Random Domanin Name Prefix: " + RUUID);


        getDriver().findElement(By.name("vo.zoneName")).sendKeys(
                randomUIDSeed + ".tv");

我使用它,然后在另一个类中:

公共类验证DBSingleDomain {

String url = "jdbc:oracle:thin:@a.b.c.d:1521:ms";

@Test
public void VerifyDBSingleDomainTest()  {

    Properties props = new Properties();
    props.setProperty("user", "user");
    props.setProperty("password", "pass");


String sql = "Select zoneid from zone where zonename =" +  randomUIDSeed + ".tv";

如果在类 VerifyDBSingleDomain i 中,我想使用相同的值“randomUIDSeed”: String randomUIDSeed = RUUID.getRandomStringUUID(); 它会是同一个对象吗?我如何将其用作相同的对象,从而保证在运行时跨所有类的相同值。

4

2 回答 2

0

但是,我不太确定您要实现什么目标;

您的问题的简短回答是“是的,您将获得相同的 String 实例”。稍长的答案是“但你做错了”。

您确实应该使用持久性框架来帮助您处理这些问题。

于 2012-10-04T14:40:48.330 回答
0

你可以从做这个小小的改变开始:

public class RandomStringUUID {

    private static final String MYUUID = UUID.randomUUID().toString().replaceAll("-", "");

    public static String getRandomStringUUID() { return MYUUID; }
}

然后你可以像这样使用它:

// Anywhere in your code: vv Note that we are using the classname! The method is static.
String theCommonID = RandomStringUUID.getRandomStringUUID();

这只是对方向的提示。这不是一个“完美”的清洁解决方案。您可能想谷歌“单例设计模式”。我现在可以想象大约 10 种其他方法可以做到这一点……但无论如何。

这将为您的应用程序运行时创建一次您的 ID 。

于 2012-10-04T15:14:52.523 回答