- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
背景是我正在尝试创建一个 very basic thermostat在 javascript 中,然后使用 jasmine 对其进行测试。
我希望能够测试页面是否加载了特定的 CSS(即恒温器的颜色是否正确),然后对其进行更新。检查颜色是否更新的测试正常通过,但检查初始颜色是否正确的第一个测试没有通过。
在控制台中停止测试后,我意识到 css 样式表并未应用于测试 - 尽管它在普通本地服务器上工作。这让我觉得我使用 loadStyleFixtures 将 css 放入 jasmine 时存在一些问题。
测试看起来像这样:
describe('Display', function(){
beforeEach(function(){
thermostat = new Thermostat();
jasmine.getFixtures().fixturesPath = '.';
loadFixtures('temperature_change.html');
jasmine.getStyleFixtures().fixturesPath = './public/css';
loadStyleFixtures('stylesheet.css');
});
...
it('can start as yellow', function(){
expect($('#temperature').css('color')).toEqual('rgb(255, 255, 0)');
});
样式表如下所示:
thân hình {
background-color: navy;
color: white;
}
#temperature {
color: yellow;
}
setStyleFixtures('#temperature { color: yellow; }') 如果添加到 beforeEach 函数也不起作用。我的补丁是使用 jquery 在 beforeEach block 中添加 css 而不是要求 css 样式表。
非常感谢任何帮助!
编辑:测试间歇性地通过 - 不知道除此之外还有什么问题可能是我的服务器设置或其他问题。
1 Câu trả lời
最后,问题是我在测试的 beforeEach block 中以错误的顺序添加了 Fixtures 和 styleFixtures。
所以这段代码会通过我的测试:
beforeEach(function(){
thermostat = new Thermostat();
jasmine.getStyleFixtures().fixturesPath = './public/css';
loadStyleFixtures('stylesheet.css');
jasmine.getFixtures().fixturesPath = '.';
loadFixtures('temperature_change.html');
});
但这(我的原始代码)不会:
beforeEach(function(){
thermostat = new Thermostat();
jasmine.getFixtures().fixturesPath = '.';
loadFixtures('temperature_change.html');
jasmine.getStyleFixtures().fixturesPath = './public/css';
loadStyleFixtures('stylesheet.css');
});
关于顺序为何重要的原因,我的想法是固定装置自己添加到样式表中,然后再次添加该表。我认为这让 Jasmine 感到困惑,它需要先加载样式表。
我认为间歇性传递是因为 fixture 偶尔会加载缓慢,让样式表有时间先加载,但我不确定这一点。
关于javascript - loadStyleFixtures 不会在 Jasmine 测试中加载 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29674380/
Tôi có một biểu mẫu ở định dạng html: Tôi cần JavaScript thực thi trên trường nhập giá trị, nhưng chỉ thông qua việc gửi biểu mẫu. Lý do là trang là một mẫu nên tôi không kiểm soát được nó (không thể có
Diễn đàn tôi quản lý được lưu trữ bằng phần mềm nên tôi không có quyền truy cập vào mã nguồn và tôi chỉ có thể thêm JavaScript vào trang để đạt được mục đích. Tôi đang cố gắng thay thế trường hợp đầu tiên của một số từ khóa văn bản nhất định trên tất cả các trang bằng siêu liên kết. Tôi cũng sắp xếp chúng theo mã quốc gia
Tôi đang sử dụng JS để mở một trang mới và viết mã HTML vào đó, nhưng khi tôi thử viết JS vào trang mới bằng document.write() thì hàm này không hoạt động. Rõ ràng là một khi đã nhìn thấy thì JS chính sẽ đóng lại. Cho buổi khai trương sắp tới
Đặt câu hỏi không phải để giải quyết vấn đề, đặt câu hỏi là để hiểu rõ hơn về các chuyên gia hệ thống! Tôi biết rằng bất cứ khi nào bạn nhập mã javascript vào công cụ javascript, nó sẽ được công cụ javascript thực thi ngay lập tức. Vì tôi chưa thấy Engi
Tôi có hai tập tin javascript trong một thư mục. Tôi muốn truyền một biến từ tệp javascript này sang tệp javascript khác. Tôi nên sử dụng chương trình nào? Câu trả lời hay nhất window.postMessage dùng để nhắn tin giữa các tài liệu. làm
Tôi có một bài tập trong đó tôi cần lấy hai đầu vào và kiểm tra xem cả hai có bằng một hay không. Nếu đó là console.log thông thường console.log false Tôi đã thử một cái gì đó như thế này: hàm isPositive(fir
Tôi đang làm việc trên một ứng dụng web trong đó tôi dự định cho phép các trang web khác (khách hàng) nhúng mã javascript sau vào trang của họ: Ứng dụng web của tôi nằm tại http://example.org. Tôi không thể cho rằng các trang web của khách hàng có JQue
Hiện tại tôi đang sử dụng ba tệp JS bên ngoài. Tôi muốn kết hợp cả ba tệp JS thành một. Hãy làm bất cứ điều gì cần thiết. Tôi đã tạo aio.js và trong aio.js src="https://code.jquery.com/
Ví dụ, tôi có một mảng như thế này: var myArray = []; var item1 = { start: '08:00', end: '09:30' } var item2 = {
Vì vậy, tôi đang tạo một tiện ích mở rộng cho Chrome sử dụng một số tập lệnh TamperMonkey mà tôi đã tạo. Tôi muốn có một tệp javascript "chính" mà bạn có thể đưa vào và thực thi các tập lệnh khác từ đó. Tôi giỏi sử dụng dòng sau để đưa java khác
Tôi có các tệp A, B html và A, B javascript. Và làm thế nào để di chuyển các biến toàn cục được sử dụng trong JavaScript A trực tiếp sang JavaScript B? Ví dụ JavaScript) va
Tôi cần đưa toàn bộ mã sau vào một tệp JavaScript có tên là activate.js. Bạn có thể cho tôi biết cách thực hiện được không? var int = new int({ giây: 30, đánh dấu
Tôi đã tạo một trang chủ EXAMPLE1.Master cho ứng dụng web .net của mình. Tôi lưu trữ giá trị của chúng trong một biến JavaScript. Tôi muốn lấy biến đó trong một tệp JS khác. Ví dụ 1. Master:-
Có thư viện nào tôi có thể sử dụng để chuyển đổi mã như thế này: function () { var a = 1; } thành mã như thế này: function () { var a = 1; } trong trình duyệt của tôi không? Bởi vì tôi đang ở Gi
Tôi nhận được lỗi cú pháp bị thiếu $(document).ready(function changeText() { var p = document.getElementById('bidp
Tôi đang tạo thanh tiến trình. Nó có nhãn. Tôi muốn điều chỉnh nhãn của một đoạn mã hoàn thành cụ thể. Sau khi tìm ra một số câu trả lời cho các giải pháp khả thi, tôi đã đưa ra đoạn mã sau. Cái đầu tiên khởi động và hoạt động như mong đợi. Tuy nhiên, câu thứ hai thì không. Có vấn đề gì với nó vậy? Mã như sau: HTML:
Đây là một câu hỏi thực sự đơn giản mà đầu óc đơn giản của tôi không thể trả lời được: Tại sao các hàm ẩn danh và onload sau đây không chạy khi tôi tải thư viện bên ngoài? Tôi đang bỏ lỡ một điều rất cơ bản. Library.js chỉ có một dòng: console.log(
Tôi biết JavaScript là ngôn ngữ phía máy khách nhưng tôi muốn thử tìm hiểu xem mã JavaScript được nhúng trong mã thực tế có khác biệt gì so với mã chạy trên bảng điều khiển không. Hãy để tôi giải thích bằng một ví dụ: Tôi muốn tạo một
Làm thế nào tôi có thể thay đổi javascript nội tuyến này thành Unobtrusive JavaScript? Cảm ơn! Tôi rất cảm kích câu trả lời của bạn, nhưng nó không hiệu quả. Mã của tôi là: Tệp PHP js document.getElem
Tôi đang tìm cách thanh lịch nhất để "đổ" một đối tượng JavaScript đơn giản vào mã nguồn JavaScript được tạo động. Mục đích: Giả sử chúng ta có máy chủ node.js tạo HTML. Chúng ta có một đối tượng x ở phía máy chủ.
Tôi là một lập trình viên xuất sắc, rất giỏi!