You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 7, 2020. It is now read-only.
В рамках тестирования функционала при проверке работы серверной части POST-запроса на редактирование варианта лабораторной работы было выявлено необычное поведение при обновлении модели варианта.
Если на странице редактирования не указан тестовый набор, то контроллеру передается значение идентификатора tespPoolId = 0. Соответственно в последней строке приведенного листинга проверяется, что если идентификатор положителен, то свойству варианта labVar,Testpool присваивается объект из базы данных TestPool, получаемый из контекста по переданному идентификатору. В противном случае объекту выставляется null.
Однако на деле опытным путем в режиме отладки было обнаружено, что при присвоенном положительном идентификаторе, вариант получает необходимое свойство и корректно сохраняется в базу данных. Однако если получен нулевой идентификатор, то выполняется ветвь присвоения null, но соответствующему свойству варианта LabVar.TestPool значение не переприсваивается и остается прежним.
Далее было замечено, что если в режиме отладки поставить контрольную точку перед присвоением тестового набора и через несколько секунд продолжить выполнение программы, то присваивание происходило успешно, и в базе данных отображался NULL. Если же контрольная точка ставилась после присваивания, то значение на пустое не менялось.
Было сделано предположение, что программа выполняется в несколько потоков и в качестве временного решения предложена приостановка основного потока на несколько секунд. Однако данный способ решения не исправил ситуацию. Более того, теперь даже при остановке на контрольной точке перед присваиванием null не присваивается.
The text was updated successfully, but these errors were encountered:
В рамках тестирования функционала при проверке работы серверной части POST-запроса на редактирование варианта лабораторной работы было выявлено необычное поведение при обновлении модели варианта.
Если на странице редактирования не указан тестовый набор, то контроллеру передается значение идентификатора tespPoolId = 0. Соответственно в последней строке приведенного листинга проверяется, что если идентификатор положителен, то свойству варианта labVar,Testpool присваивается объект из базы данных TestPool, получаемый из контекста по переданному идентификатору. В противном случае объекту выставляется null.
Однако на деле опытным путем в режиме отладки было обнаружено, что при присвоенном положительном идентификаторе, вариант получает необходимое свойство и корректно сохраняется в базу данных. Однако если получен нулевой идентификатор, то выполняется ветвь присвоения null, но соответствующему свойству варианта LabVar.TestPool значение не переприсваивается и остается прежним.
Далее было замечено, что если в режиме отладки поставить контрольную точку перед присвоением тестового набора и через несколько секунд продолжить выполнение программы, то присваивание происходило успешно, и в базе данных отображался NULL. Если же контрольная точка ставилась после присваивания, то значение на пустое не менялось.
Было сделано предположение, что программа выполняется в несколько потоков и в качестве временного решения предложена приостановка основного потока на несколько секунд. Однако данный способ решения не исправил ситуацию. Более того, теперь даже при остановке на контрольной точке перед присваиванием null не присваивается.
The text was updated successfully, but these errors were encountered: