TheDeadSkin #9941 4 февраля 2017 если тебе приходится вызывать методы закрытых полей с помощью рефлексии, то ты точно делаешь что-то не такпервая же мысль которая возникла при упоминании рефлексии Поделиться сообщением Ссылка на сообщение
MasterSanSay #9942 4 февраля 2017 если тебе приходится вызывать методы закрытых полей с помощью рефлексии, то ты точно делаешь что-то не так Есть поля экземпляра класса:private Lock lock = new ReentrantLock();private Condition condition = lock.newCondition();Есть метод, который нужно протестировать В методе есть такая строка:condition.signalAll();Так как лок открывается и закрывается не в этом методе, то просто тестировать этот метод не получится. condition.signalAll();будет работать только если он обрамлен локом и анлоком. Мне нужно как-то вызвать lock.lock() lock.unlock() в тестовом методе.Возможные варианты:1)сделать лок паблик - плохой вариант, сделать лок пекейдж привейт - тоже плохо и к тому же тест и класс в разных пэкейджах2)сделать методы в классе для лока и анлока и вызывать их в тесте - тоже плохо3)как-то сделать mock класса для теста Поделиться сообщением Ссылка на сообщение
Supremus #9943 4 февраля 2017 (изменено) вызывай тот метод, где он анлочится либо меняй к хуям архитектуру, которая повлекла за собой такой пиздец. в идее с рефлексией ты на выходе получишь тест, который наглейшим образом нарушает инкапсуляцию и будет запускаться 400 лет, а еще тебе минус ебало сделают за такой тест и будут правы. Изменено 4 февраля 2017 пользователем Supremus Поделиться сообщением Ссылка на сообщение
MasterSanSay #9944 4 февраля 2017 вызывай тот метод, где он анлочится либо меняй к хуям архитектуру, которая повлекла за собой такой пиздец. в идее с рефлексией ты на выходе получишь тест, который наглейшим образом нарушает инкапсуляцию и будет запускаться 400 лет, а еще тебе минус ебало сделают за такой тест и будут правы.Наверное, так и сделаю, просто чисто интересно, вообще можно ли вызывать методы полей или нет. Поделиться сообщением Ссылка на сообщение
DDamager #9945 4 февраля 2017 если тебе приходится вызывать методы закрытых полей с помощью рефлексии, то ты точно делаешь что-то не так Есть поля экземпляра класса:private Lock lock = new ReentrantLock();private Condition condition = lock.newCondition();Есть метод, который нужно протестировать В методе есть такая строка:condition.signalAll();Так как лок открывается и закрывается не в этом методе, то просто тестировать этот метод не получится. condition.signalAll();будет работать только если он обрамлен локом и анлоком. Мне нужно как-то вызвать lock.lock() lock.unlock() в тестовом методе.Возможные варианты:1)сделать лок паблик - плохой вариант, сделать лок пекейдж привейт - тоже плохо и к тому же тест и класс в разных пэкейджах2)сделать методы в классе для лока и анлока и вызывать их в тесте - тоже плохо3)как-то сделать mock класса для теста я так понимаю этот метод должен был быть приватным и вызываться где-то внутри класса в цепочке между lock/unlockесли нет, тогда в него нужно добавить lock/ulock Поделиться сообщением Ссылка на сообщение
MasterSanSay #9946 4 февраля 2017 если тебе приходится вызывать методы закрытых полей с помощью рефлексии, то ты точно делаешь что-то не так Есть поля экземпляра класса:private Lock lock = new ReentrantLock();private Condition condition = lock.newCondition();Есть метод, который нужно протестировать В методе есть такая строка:condition.signalAll();Так как лок открывается и закрывается не в этом методе, то просто тестировать этот метод не получится. condition.signalAll();будет работать только если он обрамлен локом и анлоком. Мне нужно как-то вызвать lock.lock() lock.unlock() в тестовом методе.Возможные варианты:1)сделать лок паблик - плохой вариант, сделать лок пекейдж привейт - тоже плохо и к тому же тест и класс в разных пэкейджах2)сделать методы в классе для лока и анлока и вызывать их в тесте - тоже плохо3)как-то сделать mock класса для теста я так понимаю этот метод должен был быть приватным и вызываться где-то внутри класса в цепочке между lock/unlockесли нет, тогда в него нужно добавить lock/ulockПросто так ставить лок/анлок в метод, только для того, чтобы тестировать можно было - не очень решение, как мне кажется. Поделиться сообщением Ссылка на сообщение
Supremus #9947 4 февраля 2017 вызывай тот метод, где он анлочится либо меняй к хуям архитектуру, которая повлекла за собой такой пиздец. в идее с рефлексией ты на выходе получишь тест, который наглейшим образом нарушает инкапсуляцию и будет запускаться 400 лет, а еще тебе минус ебало сделают за такой тест и будут правы.Наверное, так и сделаю, просто чисто интересно, вообще можно ли вызывать методы полей или нет. в джаве не знаю, а в шарпе можно. Поделиться сообщением Ссылка на сообщение
DDamager #9948 4 февраля 2017 я тебе еще раз объясняюв паблик методе без lock/unlock не должен вызваться .signal()это надо пофиксить. если это твоя песочница то пофикси, если нет, то напиши разрабам чтобы пофиксилизачем тестить сломанное говно? но если тебе прям очень надо то вот тебе пример набросалдостаем лок, лочимся, вызываем тред который должен вставку сделать, но сделать он ее не может т.к. мы держим лок try { ArrayBlockingQueue<Integer> queue = new ArrayBlockingQueue<>(10); Field lockField = ArrayBlockingQueue.class.getDeclaredField("lock"); lockField.setAccessible(true); ReentrantLock lock = (ReentrantLock) lockField.get(queue); lock.lock(); Thread t = new Thread(new Runnable() { @Override public void run() { queue.add(1); System.out.println("added"); } }); t.start(); Thread.sleep(2000); System.out.println(queue.poll()); //returns null lock.unlock(); } catch (NoSuchFieldException | IllegalAccessException e) { throw new RuntimeException(e); } Поделиться сообщением Ссылка на сообщение
choojoykin #9949 6 февраля 2017 http://ru.yougile.com/ ни мало ни много, а много и мало Поделиться сообщением Ссылка на сообщение
CriErr #9950 6 февраля 2017 выглядит неплохоно разве таких не тонна разных? Поделиться сообщением Ссылка на сообщение
v1le #9951 6 февраля 2017 что не так Лучшая в этом мире Лучшая в мире читает стихиhttps://www.youtube.com/watch?v=YmAyJ7qaw7A Эксперт в религии Поделиться сообщением Ссылка на сообщение
choojoykin #9952 6 февраля 2017 в том то и вопрос нахуй их столькодля ынтерпрайза есть Jira, а для стартапа из 2.5 человек пойдет и обычная доска на столе ни мало ни много, а много и мало Поделиться сообщением Ссылка на сообщение
suez #9953 6 февраля 2017 (изменено) Как же я ненавижу все эти DnD интерфейсы. Такой уебищный UX паттерн, просто жуть.Он безусловно ахуенен в некоторых ситуациях, но вот смотрел гифки на этом сайте и у меня аж боль физическая была с некоторых моментов, когда я представлял как у тебя соскользает палец с мыши, багается днд или еще чего происходит, и ты потом сидишь и думаешь "бля что за хуйня произошла и как сделать revert?"Даже в играх в интенторях смена позиций иметов и прочего делается по клику, ибо зажим лефтклика крайне нестабильная хуйня. Бля, все это написал, а потом представил как я бы пытался эти маленькие хуйнюшки на тач панеле ноута драгать, когда там ивент может в любой момент случайно прерваться, ахахаха Изменено 6 февраля 2017 пользователем suez Rooster понравилось это http://codepen.io/suez/ - they see me bydlocoding, they hatin. Поделиться сообщением Ссылка на сообщение
CriErr #9954 6 февраля 2017 щас бы говорить что драг енд дроп хуйня ибо вообще неудобно и палец соскальзывает.На некоторых платформах это так, но на пк все с этим нормально у всех. Поделиться сообщением Ссылка на сообщение
TheDeadSkin #9955 6 февраля 2017 (изменено) ну на тачпадах днд это реально рак раков, а с мышкой то всё зависит от мышки Изменено 6 февраля 2017 пользователем TheDeadSkin Поделиться сообщением Ссылка на сообщение
Milky_Way #9956 6 февраля 2017 это нормально, что одностраничка 5 сек грузится? я знаю точно что все телки которые красивые и которые любят ебаться, разбираются в часах Но у меня нету часов, и хуевая ауди поэтому приходится дома дрочить Поделиться сообщением Ссылка на сообщение
choojoykin #9957 6 февраля 2017 это нормально, что одностраничка 5 сек грузится? ох уж эти проблемы компов из 2005 ни мало ни много, а много и мало Поделиться сообщением Ссылка на сообщение
Feanaro #9958 6 февраля 2017 Я раньше думал, что топ рофлеры на работе это забавный миф. Я никогда ещё так не ошибалсяЩас бы про член пошутить И все несколько человек ггыгыгыгы просто помойка, пиздец Поделиться сообщением Ссылка на сообщение
Stenateksta #9959 6 февраля 2017 Осталось только непонятным.Нахуй ты это тут написал? MasterSanSay понравилось это Поделиться сообщением Ссылка на сообщение
Cantona.Eric #9960 6 февраля 2017 гыыы гыыы гыыыы Я не человек, Я - Кантона. (с) Miraxes#2986 Поделиться сообщением Ссылка на сообщение