Проблема связана с аппаратным обеспечением - каждый процессор имеет другое поведение в отношении согласованности кеша, видимости памяти и переупорядочения операций. Java здесь лучше, чем C ++, потому что он определяет кросс-платформенную модель памяти, на которую могут рассчитывать все программисты. Когда Java работает в системе, модель памяти которой слабее той, которая требуется для модели памяти Java, JVM должна внести свой вклад.
Языки, такие как C "наследуют" модель памяти базового оборудования. Есть работа, чтобы дать C ++ формальную модель памяти, чтобы программы на C ++ могли означать одно и то же на разных платформах.
Client
Джанго расширяет RequestFactory
, поэтому вы должны иметь возможность передавать дополнительные параметры в качестве аргументов ключевых слов.
Попробуйте:
response = self.c.get('/emails/html/upload', SERVER_NAME="mydomain.com")
Код может помочь не только в модульном тестировании, но также может помочь DRF использовать контекст в сериализаторе ResponseSerializer(instance=obj, context={'request': get_request}).data
from django.test.client import RequestFactory
rf = RequestFactory()
rf.defaults['SERVER_NAME'] = 'my-site.com'
get_request = rf.get('/hello/')
.