Django test client ignores “include” terms in Django template
I have an issue with Django tests client.
Let for the home path I have this template (home.html):
<html>
<body>
{% include 'example.html' %}
</body>
</html>
and in example.html I have error:
<div>
{% non_registered_tag arg1 arg2 %}
</div>
I wrote a test for accessibility to a Django URL.
class HomePageAccess(TestCase):
def test_home_page(self):
client = Client()
response = client.get(reverse_lazy('home'))
self.assertEqual(response.status_code, 200)
This code fails successfully if there be an error in home.html, But if there be an error in example.html which is included in home.html Test will pass even though we expect to fail because I included it in home.html and in the browser I encounter an error (status code 500) while this not happens in test client.
Is it normal? I'm using Django 2.0.2.
Any help will be appreciated
django testing django-testing
add a comment |
I have an issue with Django tests client.
Let for the home path I have this template (home.html):
<html>
<body>
{% include 'example.html' %}
</body>
</html>
and in example.html I have error:
<div>
{% non_registered_tag arg1 arg2 %}
</div>
I wrote a test for accessibility to a Django URL.
class HomePageAccess(TestCase):
def test_home_page(self):
client = Client()
response = client.get(reverse_lazy('home'))
self.assertEqual(response.status_code, 200)
This code fails successfully if there be an error in home.html, But if there be an error in example.html which is included in home.html Test will pass even though we expect to fail because I included it in home.html and in the browser I encounter an error (status code 500) while this not happens in test client.
Is it normal? I'm using Django 2.0.2.
Any help will be appreciated
django testing django-testing
1
In yoursettings.pydo you have thedebugoption set in theOPTIONSdictionary of theTEMPLATESsetting? And also what is the value of the overallDEBUGsetting insettings.py?
– Will Keeling
Jan 22 at 19:59
1
May be related to this: stackoverflow.com/questions/43758492/… Exceptions are silenced inincludetags whenDEBUGis False.
– Will Keeling
Jan 23 at 9:07
@WillKeeling You right! in the templateOPTIONSdictionarydebugwas not set to true. I changed And it working now. thanks.
– SirSaleh
Jan 23 at 12:54
@WillKeeling It will be appreciated if you add your answer. So I can accept and vote-up. thanks.
– SirSaleh
Jan 23 at 13:06
1
answer added - thanks!
– Will Keeling
Jan 23 at 13:23
add a comment |
I have an issue with Django tests client.
Let for the home path I have this template (home.html):
<html>
<body>
{% include 'example.html' %}
</body>
</html>
and in example.html I have error:
<div>
{% non_registered_tag arg1 arg2 %}
</div>
I wrote a test for accessibility to a Django URL.
class HomePageAccess(TestCase):
def test_home_page(self):
client = Client()
response = client.get(reverse_lazy('home'))
self.assertEqual(response.status_code, 200)
This code fails successfully if there be an error in home.html, But if there be an error in example.html which is included in home.html Test will pass even though we expect to fail because I included it in home.html and in the browser I encounter an error (status code 500) while this not happens in test client.
Is it normal? I'm using Django 2.0.2.
Any help will be appreciated
django testing django-testing
I have an issue with Django tests client.
Let for the home path I have this template (home.html):
<html>
<body>
{% include 'example.html' %}
</body>
</html>
and in example.html I have error:
<div>
{% non_registered_tag arg1 arg2 %}
</div>
I wrote a test for accessibility to a Django URL.
class HomePageAccess(TestCase):
def test_home_page(self):
client = Client()
response = client.get(reverse_lazy('home'))
self.assertEqual(response.status_code, 200)
This code fails successfully if there be an error in home.html, But if there be an error in example.html which is included in home.html Test will pass even though we expect to fail because I included it in home.html and in the browser I encounter an error (status code 500) while this not happens in test client.
Is it normal? I'm using Django 2.0.2.
Any help will be appreciated
django testing django-testing
django testing django-testing
edited Jan 22 at 11:35
Javad
312
312
asked Jan 19 at 14:14
SirSalehSirSaleh
55921125
55921125
1
In yoursettings.pydo you have thedebugoption set in theOPTIONSdictionary of theTEMPLATESsetting? And also what is the value of the overallDEBUGsetting insettings.py?
– Will Keeling
Jan 22 at 19:59
1
May be related to this: stackoverflow.com/questions/43758492/… Exceptions are silenced inincludetags whenDEBUGis False.
– Will Keeling
Jan 23 at 9:07
@WillKeeling You right! in the templateOPTIONSdictionarydebugwas not set to true. I changed And it working now. thanks.
– SirSaleh
Jan 23 at 12:54
@WillKeeling It will be appreciated if you add your answer. So I can accept and vote-up. thanks.
– SirSaleh
Jan 23 at 13:06
1
answer added - thanks!
– Will Keeling
Jan 23 at 13:23
add a comment |
1
In yoursettings.pydo you have thedebugoption set in theOPTIONSdictionary of theTEMPLATESsetting? And also what is the value of the overallDEBUGsetting insettings.py?
– Will Keeling
Jan 22 at 19:59
1
May be related to this: stackoverflow.com/questions/43758492/… Exceptions are silenced inincludetags whenDEBUGis False.
– Will Keeling
Jan 23 at 9:07
@WillKeeling You right! in the templateOPTIONSdictionarydebugwas not set to true. I changed And it working now. thanks.
– SirSaleh
Jan 23 at 12:54
@WillKeeling It will be appreciated if you add your answer. So I can accept and vote-up. thanks.
– SirSaleh
Jan 23 at 13:06
1
answer added - thanks!
– Will Keeling
Jan 23 at 13:23
1
1
In your
settings.py do you have the debug option set in the OPTIONS dictionary of the TEMPLATES setting? And also what is the value of the overall DEBUG setting in settings.py?– Will Keeling
Jan 22 at 19:59
In your
settings.py do you have the debug option set in the OPTIONS dictionary of the TEMPLATES setting? And also what is the value of the overall DEBUG setting in settings.py?– Will Keeling
Jan 22 at 19:59
1
1
May be related to this: stackoverflow.com/questions/43758492/… Exceptions are silenced in
include tags when DEBUG is False.– Will Keeling
Jan 23 at 9:07
May be related to this: stackoverflow.com/questions/43758492/… Exceptions are silenced in
include tags when DEBUG is False.– Will Keeling
Jan 23 at 9:07
@WillKeeling You right! in the template
OPTIONS dictionary debug was not set to true. I changed And it working now. thanks.– SirSaleh
Jan 23 at 12:54
@WillKeeling You right! in the template
OPTIONS dictionary debug was not set to true. I changed And it working now. thanks.– SirSaleh
Jan 23 at 12:54
@WillKeeling It will be appreciated if you add your answer. So I can accept and vote-up. thanks.
– SirSaleh
Jan 23 at 13:06
@WillKeeling It will be appreciated if you add your answer. So I can accept and vote-up. thanks.
– SirSaleh
Jan 23 at 13:06
1
1
answer added - thanks!
– Will Keeling
Jan 23 at 13:23
answer added - thanks!
– Will Keeling
Jan 23 at 13:23
add a comment |
1 Answer
1
active
oldest
votes
I suspect what's happening here is that you have the debug option set to False in the OPTIONS section in the TEMPLATES setting, or you have omitted it entirely (in which case it assumes the value of the overall DEBUG setting).
Explicitly setting debug to True should expose the error and your test should fail as expected.
TEMPLATES = [
{
...
'OPTIONS': {
'debug': True,
},
},
]
More information on the debug setting can be found in the template section of the Django docs here.
Thanks, Will :)
– SirSaleh
Jan 23 at 13:30
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54267979%2fdjango-test-client-ignores-include-terms-in-django-template%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I suspect what's happening here is that you have the debug option set to False in the OPTIONS section in the TEMPLATES setting, or you have omitted it entirely (in which case it assumes the value of the overall DEBUG setting).
Explicitly setting debug to True should expose the error and your test should fail as expected.
TEMPLATES = [
{
...
'OPTIONS': {
'debug': True,
},
},
]
More information on the debug setting can be found in the template section of the Django docs here.
Thanks, Will :)
– SirSaleh
Jan 23 at 13:30
add a comment |
I suspect what's happening here is that you have the debug option set to False in the OPTIONS section in the TEMPLATES setting, or you have omitted it entirely (in which case it assumes the value of the overall DEBUG setting).
Explicitly setting debug to True should expose the error and your test should fail as expected.
TEMPLATES = [
{
...
'OPTIONS': {
'debug': True,
},
},
]
More information on the debug setting can be found in the template section of the Django docs here.
Thanks, Will :)
– SirSaleh
Jan 23 at 13:30
add a comment |
I suspect what's happening here is that you have the debug option set to False in the OPTIONS section in the TEMPLATES setting, or you have omitted it entirely (in which case it assumes the value of the overall DEBUG setting).
Explicitly setting debug to True should expose the error and your test should fail as expected.
TEMPLATES = [
{
...
'OPTIONS': {
'debug': True,
},
},
]
More information on the debug setting can be found in the template section of the Django docs here.
I suspect what's happening here is that you have the debug option set to False in the OPTIONS section in the TEMPLATES setting, or you have omitted it entirely (in which case it assumes the value of the overall DEBUG setting).
Explicitly setting debug to True should expose the error and your test should fail as expected.
TEMPLATES = [
{
...
'OPTIONS': {
'debug': True,
},
},
]
More information on the debug setting can be found in the template section of the Django docs here.
edited Jan 23 at 13:23
answered Jan 22 at 17:58
Will KeelingWill Keeling
11.7k22434
11.7k22434
Thanks, Will :)
– SirSaleh
Jan 23 at 13:30
add a comment |
Thanks, Will :)
– SirSaleh
Jan 23 at 13:30
Thanks, Will :)
– SirSaleh
Jan 23 at 13:30
Thanks, Will :)
– SirSaleh
Jan 23 at 13:30
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54267979%2fdjango-test-client-ignores-include-terms-in-django-template%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
In your
settings.pydo you have thedebugoption set in theOPTIONSdictionary of theTEMPLATESsetting? And also what is the value of the overallDEBUGsetting insettings.py?– Will Keeling
Jan 22 at 19:59
1
May be related to this: stackoverflow.com/questions/43758492/… Exceptions are silenced in
includetags whenDEBUGis False.– Will Keeling
Jan 23 at 9:07
@WillKeeling You right! in the template
OPTIONSdictionarydebugwas not set to true. I changed And it working now. thanks.– SirSaleh
Jan 23 at 12:54
@WillKeeling It will be appreciated if you add your answer. So I can accept and vote-up. thanks.
– SirSaleh
Jan 23 at 13:06
1
answer added - thanks!
– Will Keeling
Jan 23 at 13:23