Вы можете либо сделать свою переменную non static
public final String TTT = (String) getText(R.string.TTT);
, либо сделать метод getText статическим (если это вообще возможно)
Это - превосходный вопрос, особенно с точки зрения TDD и проверяющий код согласно различным доверительным сценариям.
Я думаю способ, которым я приблизился бы, это будет чем-то вроде -
Создайте AppDomain в моем коде TDD с помощью AppDomain. CreateDomain () перегрузка, которая позволяет Вам передавать в PermissionSet. PermissionSet был бы создан для соответствия различным доверительным сценариям, против которых Вы захотите протестировать.
Загрузите блок, содержащий логику под тестом в домен приложения
Создайте экземпляры методов типов/вызова и т.д. в домене приложения, захватите исключения безопасности
Что-то отчасти как этот. У меня не было времени для поднимания подтверждения концепции все же.
Функциональность, которую Вы ищете, встроена в Visual Studio:
На вкладке безопасности Вашего проекта существует кнопка "Advanced...", которые позволяют Вам настроить, хотите ли Вы отладить в полном доверии, или на указанном доверительном уровне.
Используйте Microsoft Application Verifier.
AppVerifier помогает определить:
Необходимо посмотреть на Инструмент конфигурирования Платформы.NET. Это находится в SDK.NET, и можно найти инструкции относительно выполнения его здесь... http://msdn.microsoft.com/en-us/library/2bc0cxhc.aspx
В разделе Runtime Security Policy Вы найдете 3 уровня политики: Предприятие, Машина и Пользователь. Если Вы развернете в Машину или Пользователя, то Вы найдете определения Code Groups и Наборов полномочий. Когда Вы говорите, что хотите протестировать некоторый код.NET в частичных доверительных средах, я предполагаю, что Вы захотите протестировать против одного из стандартных наборов полномочий, уже определенных, таких как Интернет. Необходимо определить Code Group, которая соответствует приложению (или определенные блоки), и присвойте выбранный набор полномочий той Code Group.
Можно определить собственные Наборы полномочий также, но давайте сохраним это простым на данный момент.
Выберите, хотите ли Вы, чтобы Ваша новая группа кода существовала в объеме всей машины, или только для Вашей учетной записи пользователя и развертки на Машину или Пользовательский уровень политики соответственно. Вы будете видеть группу кода, названную _All _ Code_. Создайте дочернюю группу кода в той путем щелчка правой кнопкой и выбора Новый...
Дайте ему имя, скажем PartialTrustGroup, затем нажмите Далее.
Необходимо указать условие членства для этой группы, и существуют различные типы. Мне нравится создавать определенную папку под названием PartialTrust на моей машине и затем создавать условие членства URL, которое соответствует. Так, мой URL похож на это... file://c:/users/martin/documents/partialtrust/*
* подстановочный знак для ловли любого блока под тем путем. Нажать Далее.
Теперь можно выбрать набор полномочий для новой группы кода. На данный момент выберите Интернет. Это - вполне строгий набор, подобный песочнице апплета Java. Нажмите Далее и Конец.
Теперь щелкните правой кнопкой по своей новой группе кода и выберите Свойства. Во вкладке "Общие" удостоверьтесь, что самый верхний флажок устанавливается, затем нажмите "OK".
Теперь, любым блокам.NET, которые загружаются из местоположения под URL, который Вы указали, будут относиться к интернет-набору полномочий их. Ожидайте получать некоторый SecurityExceptions, если Вы не написали свой код для осторожного наблюдения уменьшенного набора полномочий.
Извините это - длинное описание. Это действительно намного более просто, чем это звучит.