Как Вы программно устанавливаете аппаратные средства, отмечают время прихода на работу Linux?

Проблема в том, что когда вы запускаете класс Test и вызывается @AfterMethod, он пытается выйти из драйвера, принадлежащего верхнему классу, но не из классов, которые создаются в методах. Вот небольшой пример для лучшего понимания:

Класс теста JUnit:

import org.junit.Test;
import org.junit.After;

public class intTestClass extends Methods{

    @Test
    public void test1() throws InterruptedException {
        intTestClass object1;
        object1 = new intTestClass();
        object1.setInt();
    }

    @After
    public void tearDown() {
        System.out.println("testInt is: "+ testInt);
    }
}

И класс Methods:

public class Methods {

    public int testInt = 0;

    public void setInt() {
        testInt = 1;
    }

}

Здесь, когда вы запускаете тест JUnit вы ожидаете, что значение testInt будет напечатано как 1. Однако метод с аннотацией @After(@AfterMethod for testng) проверяет значение переменной testInt, которая относится к верхнему уровню intTestClass, а не чем intTestClass , который создается внутри метода test1().

Таким образом, мы видим вывод:

testInt is: 0

Если мы применим это к вашему сценарию, вам нужно будет переместить ваш метод launchBrowser() в ваш тестовый класс и вызвать метод с @BeforeClass аннотация.

11
задан 4 revs, 2 users 100% 13 January 2015 в 11:05
поделиться

4 ответа

Проверьте страницу справочника RTC для получения дополнительной информации но если Вы зарегистрированы как корень, что-то вроде этого:

#include <linux/rtc.h>
#include <sys/ioctl.h>


    struct       rtc_time {
        int         tm_sec;      
        int         tm_min;      
        int         tm_hour;     
        int         tm_mday;     
        int         tm_mon;      
        int         tm_year;     
        int         tm_wday; /* unused */
        int         tm_yday; /* unused */
        int         tm_isdst;/* unused */
    };

int fd;
struct rtc_time rt;
/* set your values here */
fd = open("/dev/rtc", O_RDONLY);
ioctl(fd, RTC_SET_TIME, &rt);
close(fd);
14
ответ дан 3 December 2019 в 03:54
поделиться

После вызова stime (), сделайте это:

system("/sbin/hwclock --systohc");

Посмотрите hwclock (8) страница справочника для получения дополнительной информации.

9
ответ дан 3 December 2019 в 03:54
поделиться

Я запустил бы путем чтения исходного кода hwclock.

2
ответ дан 3 December 2019 в 03:54
поделиться

Я также хотел бы указать, что аппаратные часы только с точностью до точки (я видел системы, которые освободят/получат несколько секунд в день).

Вы полагали, что установка демона сетевого времени синхронизирует Ваши часы против сервера времени?

По общему признанию этой синхронизации не происходит, пока демон не запускает настолько остающийся Ваши аппаратные часы в синхронизации, также помогает между питанием и точкой синхронизации демона времени против сервера времени.

2
ответ дан 3 December 2019 в 03:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: